《C语言 期末模拟题.docx》由会员分享,可在线阅读,更多相关《C语言 期末模拟题.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C语言期末模拟一.单项选择题(每题1分,共30分)(1)按照C语言规定的用户标识符命名规那么,不能出现在标识符中的是()oA)字母 B)数字 C)下划线 D)连接符(2)计算机能直接执行的程序是()oA)源程序 B)目标程序 C)可执行程序D)汇编程序(3)有以下定义语句,编译时会出现编译错误的选项是()。A) chara=a,; B) chara=*n; C) chara=aa; D) chara=*t;(4)以下选项中正确的定义语句是()。A) double a; b; B) double a=b=7; C) double a=7, b=7; D) double, a, b;(5)以下不能
2、正确表示代数式2ab除cd的C语言表达式是()oA) 2*a*b/c/d B) a*b/c/d*2 C) a/c/d*b*2 D) 2*a*b/c*d(6)假设变量均已正确定义并赋值,以下合法的C语言赋值语句是()。A) x=y=5; B) x=n%2.5; C) x+n=l; D) x=5=4+l;(7)设有定义:intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()。A) k+ B) k+=l C) +k D) k+1(8)以下选项中,当x=3时,值为。的表达式是()。A) x%2=l B) x/2 C) x%2!=0 D) x%2=0(9)以下关于C语言文件的表达中正确
3、的选项是()。A)文件是由一组相关数据组成,只能构成二进制文件B)文件是由一组相关结构组成,可以构成二进制文件或文本文件C)文件是由一组相关数据组成,可以构成二进制文件或文本文件 D)文件是由一组相关数据组成,只能构成文本文件 (10)以下表达中错误的选项是()。A) C语言是一种结构化程序设计语言B)结构化程序有顺序、分支、循环三种基本结构组成C)使用三种基本结构构成的程序只能解决简单问题D)结构化程序设计提倡模块化的设计方法(11)有以下程序#include void main() char cl,c2;cl=A+8-4;c2=A+8-5;printf(4%c,%dn,cl ,c2);)己
4、知字母A的ASCII码为65,程序运行后的输出结果是()A) E,68 B) D,69 C) E,D D)输出无定值(12)字符A的ASCH代码值是65,字符变量cl的值是A, c2的值是D。执行语句printf(”d,%d”,cl,c2-2);B,输出 结果是()。A) A,B B) A,68C) 65,66 D) 65,68(13)假设变量已正确定义为int型,要通过语句scanf(”%d,%d,%d”,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式 中错误的选项是()。A)空格1,2,3回车B) 1空格2空格3回车C) 1,空格空格2,空格空格3回车,D) 1,2,
5、3回车,(14)在嵌套使用if语句时,C语言规定else总是()。A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对D)和之前的第一个if配对(15)以下关于逻辑运算符两侧运算对象的表达中正确的选项是()。A)只能是整数。或1B)只能是整数0或非0的整数C)可以是结构体类型的数据D)可是任意合法的表达式青岛理工大学试卷纸共8页 第1页试题要求:L试题后标注此题得分试卷应附有评卷用标准答案,并有每题每步得分标准;3.试卷必须提前一周送考试中心;4.考试前到指 定地点领取试卷;5.考生不得拆散试卷,否那么试卷无效。学号:姓名:班级:(1
6、6)有以下程序段int a, b, c;a=10; b=50; c=30;if (ab) a=b, b=c; c=a;printf(a=d b=%d c=%dn,a, b, c);程序的输出结果是()。A) a=10b=50 c=10 B) a=10b=50 c=30 C) a=10b=30 c=10 D) a=50 b=30 c=50 (17)以下表达中正确的选项是()。A)预处理命令行必须位于C源程序的起始位置B)在C语言中,预处理命令行都以开头C)每个C程序必须在开头包括预处理命令行:include D) C语言的预处理命令要以分号;结尾 (18)以下表达中正确的选项是()。A) bre
7、ak语句只能用于switch语句题中 B )在switch语句中必须使用defaultC) break语句只能用在循环体内和switch语句体内D)在循环体内使用break语句和continue语句的作用相同(19)有以下程序#include void main() int i,j,m=55;for(i=l;i=3;i+)for(j=3;j=i;j+) m=m%j;printf(,%dn,m);程序的运行结果是()。A) 0 B) 1 C) 2 D) 3(20)有以下程序#includevoid main() int ij;for(i=3; i=l; i-)for(j=l;j=2;j+)pri
8、ntf(n%dn, i+j);)程序的运行结果是()。A) 234 B) 432345 543 C) 23 D) 45 3423(21)以下关于字符串的表达中正确的选项是()。A) C语言中有字符串类型的常量和变量B)两个字符串中的字符个数相同时才能进行字符串大小的比拟C)可以用关系运算符对字符串的大小进行比拟D)空串一定比空格打头的字符串小(22)假设有定义语句:intm=5,4,3,2,l,i=4;,那么下面对m数组元素的引用中错误的选项是()。A) miB) m2*2 C) m|m|0| D) m|m|i(23)假设有定义语句:chars10=n123456700H;,那么 strlen
9、(s)的值是()。A) 7 B) 8 C) 9 D) 10(24)有定义语句:char s 10;,假设要从终端给s输入5个字符,错误的输入语句是()。A) gets(&sO); B) scanf( “s” ,s+l); C) gets(s); D) scanf( u%sv ,sl);(25)对于一个正常运行的C程序,以下表达中正确的选项是()。A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束(2
10、6)假设函数调用时的实参为普通变量时,以下关于函数形参和实参的表达中正确的选项是()。A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(27)以下表达中错误的选项是()。A) C程序是由一个或一个以上的函数组成B)函数调用可以作为一个独立的语句存在C)假设函数有返回值,需要通过return语句返回D) C函数必须有形式参数青岛理工大学试卷纸共8页 第2页试题要求:1.试题后标注此题得分试卷应附有评卷用标准答案,并有每题每步得分标准;3.试卷必须提前一周送考试中心;4.考试前到指
11、定地点领取试卷;5.考生不得拆散试卷,否那么试卷无效。学号:姓名:班级:O o o o o 的 oooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOO O O O O O(28)在C函数的定义和调用中,下面描述正确的选项是()。A)函数的定义可以嵌套,函数的调用不可以嵌套B)函数的定义不可以嵌套,函数的调用可以嵌套C)函数的定义和调用都不可以嵌套D)函数的定义和调用都可以嵌套(29)假设在定义语句:inta,b,c,*p=&c;之后,接着执行以下选项中的语句,那么能正确执行的语句是()。A) scanf(n%dH,a,b,c); B) scanf(1,%d%
12、d%d,a,b,c); C) scanf(d”,p); D) scanf(d&p);(30)以下关于指针变量的说法中,错误的选项是()。A)定义指针变量时,必须指定基类型 B)定义指针变量时,可以先不指定基类型C) 一个指针变量,只能指向同类型的变量D)指针变量的值是地址二、填空题(每空1分,共10分)(1)整型变量a=6,b=7,c=l,那么表达式(a*3-b+c)/5的值是。(2) .数学公式y = ,( + ) +炉,写成C语言表达式是 o(3) C语言表达式!(36)|(49)的值是 o(4)假设有如下定义floatf=123.4567;要求输出该数时保存1位小数,共占8列,左对齐,那
13、么具体的printf语句是(5)设有以下宏定义:# define WIDTH 80# define LENGTH WIDTH+40那么执行赋值语句:v = LENGTH * 20;( v为int型变量)后,v的值是。(6)从变量的作用域角度分有全局变量和。(7)如以下图所示,在链表中pre指向的结点后面插入p所指向的节点的关键语句是: 和 O其中结构体数据类型和指针变量的定义如下:struct stu int a;float b;struct stu *next; *head, *pre,*p;pre青岛理工大学试卷纸共8页 第3页试题要求:L试题后标注此题得分试卷应附有评卷用标准答案,并有每
14、题每步得分标准;3.试卷必须提前一周送考试中心;4.考试前到指 定地点领取试卷;5.考生不得拆散试卷,否那么试卷无效。学号:姓名:班级:三、程序阅读题(每题3分,共15分)1、int main(void)(int a = 1, c = 65, d = 97;printf(nalO = %d, a8 = %o, al6 = %xn, a, a, a);printf(nclO = %d, c8 = %o, cl6 = %x, cc = %cnn, c, c, c, c); d+;printf(dlO = %d, de = %cn, d, d);return 0;)运行结果:2、int main(v
15、oid)int kJ;int a = 3, -5, 18,27, 37,23,69, 82, 52,-15);for(k = 0, j = k; k a|j)j = k;printf(nm = %d, j = %dn,aj, j);return 0;)运行结果:3、void ast(int x, int y, int *cp, int *dp)(*cp = x + y;*dp = x - y;)int main(void)(int a, b, c, d;a = 6;b = 3;ast(a,b,&c,&d);printf(%d,%dnH,c, d);return 0;)运行结果:4、int ma
16、in(void)(char s = china”,*p;for(p=s+1; pnext; prenext = p;三、程序阅读题(3*5)1. alO = 1, a8 = 1, al6 = 1clO = 65, c8 = 101, cl6 = 41, cc = Adl0 = 98, dc = b2. m = 82, j = 73. 9,34. hinainana5. 15四、编程题(共6题,选做5题,每题6分,共30分)(1)程序代码如下:(也可以使用排序算法)#include int main()(int x,y,z;int t;printf(nPlease input 3 integer
17、s: H);scanf(n%d%d%dn,&x,&y,&z);if (xy)(t=x; x=y; y=t;if (xz)(t=x; x=z; z=t;)if (yz)t=y; y=z; z=t;printf(HThe result is %d %d %dnH,x,y,z);(2)程序代码如下:#include #include int main()(float a,b,c;float delta;float xl,x2;printf(nPlease input a b c of the solution:);scanf(M %f%f%fn,&a,&b,&c);delta二b*b4*a*c;if
18、 (delta0)printf(MNo roots!nM);else if (de!ta=0)printf(Hxl=x2=%fnM,-b/(2*a);else(xl=(-b+sqrt(delta)/2/a;x2=(-b-sqrt(delta)/2/a;printf(Hxl=%f x2=%fnn,xl,x2);(3)程序代码如下:#include #include #define MAX 100void main()(char sMAX;inti;printf(nPlease input a string: gets(s);for (i=0; i=,a, & si=*A* & si=,Z,) s
19、i=si-,A,+,a,;printf(uThe result is %snM,s);)(4)程序代码如下:#include void main()int score5J;int totalScore=0;int i;for(i=0;i5;i+)scanf(H%dH,&scorei);totalScore=totalScore+scorei;)printf(H %fnn,totalScore/5.0);(5)程序代码如下:void MyStrCat(char target, char *source)while (*target+);target;while (*target+=*source
20、+); (6)程序代码如下:#include #define N 5struct Personinfo char Name50;float Salary; int Age;);void main() struct Personinfo dataN;int i;printf(nPlease input data:for (i=0; iN; i+)scanf(u%s%f%dH,datail.Name,&datail.Salary,&datail.Age);for (i=0; iN; i+) (datai.Salary*=1.3;datai.Age+; )printf(nNamettSalaryttAgenu);for (1=0; iN; i+)printf(n%stt%ftt%dnn,datai.Name,datalJ.Salary,datai.Age);