云南师范大学C语言期末试题2.docx
- 文档编号:2342761
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:11
- 大小:21.19KB
云南师范大学C语言期末试题2.docx
《云南师范大学C语言期末试题2.docx》由会员分享,可在线阅读,更多相关《云南师范大学C语言期末试题2.docx(11页珍藏版)》请在冰点文库上搜索。
云南师范大学C语言期末试题2
云南师范大学2009-2010学年下学期统一考试
《计算机技术基础》(C语言)期末考试试卷
考试方式(闭卷)考试时量:
90分钟试卷编号(B卷)
一、判断题:
(每题1分,共10分)
1.C语言中表达式3/2得到的结果是1.5。
A.对 B.错
2.语句是C程序的基本构成单位。
A.对B.错
3.在C程序中,函数既可以嵌套定义,也可以嵌套调用。
A.对 B.错
4.数组名代表数组的首地址。
A.对 B.错
5.循环结构中的break语句是使整个循环终止执行。
A.对B.错
6.字符数组可以存放字符串,因此字符数组就是字符串。
B
A.对B.错
7.在if语句中,不可以没有else子句。
A.对B.错
8.在程序中凡是以“#”号开始的语句行都是预处理命令行。
A
A.对B.错
9.设有数组定义:
chara[]="hi!
";则数组a所占的空间为3。
A.对B.错
10.宏定义中的宏名必须是大写字母。
b
A.对 B.错
二、单选题(每一小题的被选答案中只有一个正确答案,每题1分,共30分)
1.C语言规定,必须用作为主函数名。
B
A.FunctionB.mainC.includeD.stdio
2.以下叙述中正确的是____。
C
A.C程序的基本组成单位是语句
B.C程序中的每一行只能写一条语句
C.简单C语句必须以分号结束
D.C语句必须在一行内写完
3.下列正确的标识符是____。
C
A.%yB.6aC._doD.a+b
4.在下面几组数据类型中,全为最常用的基本数据类型的是哪一组:
。
A
A.整型实型字符型B.整型数组指针
C.数组结构体共用体D.指针逻辑型空类型
5.C语言中不能用来表示整常数的进制是。
D)
A.十进制B.十六进制C.八进制D.二进制
6.表达式:
(int)((double)9/2)-(9)%2的值是。
B
A.0B.3C.4D.5
7.C语言中,运算对象必须是整型数的运算符是。
D
A.**B.\C.%和\D.%
8.设x=1,y=2,m=4,n=3,则表达式x>y?
x:
m y: n的值为: 。 C A.1 B.2 C.3 D.4 9.若有说明语句: charc=‘\64’;则变量C包含: 。 A A.1个字符B.2个字符 C.3个字符D.说明不合法,C值不确定 10.以下不能正确表示代数式 的C语言表达式是()。 D A.2*a*b/c/dB.a*b/c/d*2 C.a/c/d*b*2D.2*a*b/c*d 11.任何一个C语言的可执行程序都是从___开始执行的。 B A.程序中的第一个函数B.main()函数的入口处 C.程序中的第一条语句D.编译预处理语句 12.能正确表示x的取值范围在[0,100]或[-10,-5]内的表达式是。 B A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100) C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100) D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) 13.C语言函数的隐含存储类别是____。 D A.staticB.autoC.registerD.extern 14.将字符串str2连接到字符串str1中应使用。 B A.strcpy(str1,str2)B.strcat(str1,str2) C.strcmp(str1,str2)D.strcat(str2,str1) 15.有以下程序 #include main() { int a=1,b=0; printf("%d,",b=a+b); printf("%d",a=2*b); } 程序运行后的输出结果是。 D A.0,0B.1,0C.3,2D.1,2 16.设变量定义为“inta,b;”,执行语句scanf("a=%d,b=%d",&a,&b);时,输入_____,则a和b的值都是10。 D A.1010B.10,10C.a=10b=10D.a=10,b=10 17.不是给数组的第一个元素赋值的语句是。 D A.inta[2]={1};B.inta[2]={1*2}; C.inta[2];scanf(“%d”,a);D.a[1]=1; 18.若用数组名作为函数调用的实参,传递给形参的是。 A A.数组的首地址 B.数组第一个元素的值 C.数组中全部元素的值 D.数组元素的个数 19.循环语句中的for语句,其一般形式如下: for(表达式1;表达式2;表达式3)语句 其中表示循环条件的是。 B A.表达式1B.表达式2C.表达式3D.语句 20.已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。 执行语句printf("%d,%d",c1,c2-2);后,输出结果是__。 C A.A,BB.A,68C.65,66D.65,68 21.下面叙述中正确的是___B_。 A.全局变量在定义它的文件中的任何地方都是有效的 B.全局变量在程序的全部执行过程中一直占用内存单元 C.同一文件中的变量不能重名 D.使用全局变量有利于程序的模块化和可读性的提高 22.以下叙述中错误的是___。 A A.可以通过typedef增加新的类型 B.可以用typedef将已存在的类型用一个新的名字来代表 C.用typedef定义新的类型名后,原有类型名仍有效 D.用typedef可以为各种类型起别名,但不能为变量起别名 23.假定所有变量均已正确说明,下列程序段运行后x的值是。 B a=b=c=0;x=35; if(! a)x=-1; elseif(b); if(c)x=3; elsex=4; A.34B.4C.35D.3 24.以下程序的执行结果是______C__。 main() {intnum=0; while(num<=2){num++;printf("%d,",num);}} A.0,1,2, B.1,2, C.1,2,3, D.1,2,3,4, 25.以下程序的输出结果是________。 a voidfun(inta,intb,intc) {a=456;b=567;c=678;} main() {intx=10,y=20,z=30; fun(x,y,z); printf("%d,%d,%d\n",z,y,x);} A.30,20,10 B.10,20,30 C.456,567,678 D.678,567,456 26.14.下面函数调用语句中实参的个数为: 。 B func((exp1,exp2),(exp3,exp4,exp5)) A.1B.2C.4D.5 27.有宏定义: #defineE2.718则编译预处理时将E替换成一个__D__。 A.单精度常量 B.单精度变量 C.双精度变量 D.字符串 28.变量的指针,其含义是指该变量的。 A A.地址B.值C.名D.一个标志 29.若有定义inta[10],*p=a;,则*(p+5)表示___。 B A.元素a[5]的地址B.元素a[5]的值 C.元素a[6]的地址D.元素a[6]的值 30.有如下程序段 int*p,a=10,b=1 p=&a;a=*p+b; 执行该程序段后,a的值为。 C A.12B.10C.11D.编译出错 三、填空题: (每空2分,共20分)。 1.在C语言中,程序运行期间,其值可以被改变的量叫【1】。 2.表示条件: x≥0或x<100的C语言表达式是【1】。 3.已知: inti=3,j=4,m,n;m=++i;n=j++;问语句执行后m=【1】,n=【2】。 4.有定义floaty=1.23456;若希望在屏幕上输出"1.23",则相应的C语言语句应写为printf("【1】",y);。 (2分) 5.下面程序的输出是【1】。 main() {intarr[10],i,k=O: for(i=0;i<10;i++) arr[i]=i; for(i=1;i<4;i++) k+=arr[i]+i; printf("%d\n",k);} 6.下面程序的输出结果是【1】。 main() {ints=0,k; for(k=5;k>=0;k--) {swich(k) {case1: case5: s++;break; case3: case4: break; case0: case2: s+=2;break; } } printf("s=%d\n",s); } 7.以下程序可计算10名学生1门课程的平均分,请填空。 floataverage(floatarray[10]) {inti;floataver,sum=array[0]; for(i=1;i<10;i++) 【1】; aver=sum/10; returnaver; } main() {floatscore[10],aver;inti; for(i=0;i<10;i++) scanf("%f",___【2】____); aver=___【3】___; printf("averagescoreis%5.2f\n",aver);} 四、编程题: (共40分)。 1.从键盘输入1个3位整数n,请判断其是否是“水仙花数”,是则输出n,否则输出“不是”.。 (“水仙花数”是一个其各个位数的立方和等于该整数的三位数,如: 371=33+73+13)(12分) 2.从键盘输入2个整数x和n,用for循环求出xn并输出。 (13分) 3.利用自定义函数voidfun(charc[]),由实参传来一个字符串,实现以下功能: 将字符串中的大写字母转换为小写字母,其他字符不变,要求在主函数中输入字符串str并输出处理后的字符串。 (15分) 答案 一、判断题: 1~5BBBAA6~10BBABB 二、单选题 1~5BCCAD6~10BDCAD 11~15BBDBD16~20DDABC 21~25BABCA26~30BDABC 三、填空题: 1.变量 2.x>=0||x<100或x<100||x>=0 3.[1]4[2]4 4.%4.2f 5.12 6.s=6 7.[1]sum+=array[i]或sum=sum+array[i]或sum=array[i]+sum[2]&score[i][3]average(score) 四、编程题: 1.参考程序: #include voidmain() { inta,b,c,n;//a为百位,b为十位,c为个位 printf("请输入1个3位整数: "); scanf("%d",&n); a=n/100; b=n%100/10; c=n%10; if(n==a*a*a+b*b*b+c*c*c) printf("%d是水仙花数\n",n); elseprintf("不是\n"); } 2.参考程序: #include voidmain() { intx,n,i,s=1; printf("请输入2个整数: "); scanf("%d%d",&x,&n); for(i=1;i<=n;i++) s=s*x; printf("x的n次方为: %d\n",s); } 3.参考程序: #include voidmain() { voidfun(charc[]); charstr[20]; printf("请输入字符串: "); gets(str); fun(str); printf("转换后的字符串为: "); puts(str); } voidfun(charc[]) { inti; for(i=0;c[i]! ='\0';i++) if(c[i]>='A'&&c[i]<='Z')c[i]=c[i]+32; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 云南 师范大学 语言 期末 试题
![提示](https://static.bingdoc.com/images/bang_tan.gif)