C语言期中考试试卷
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4、main() { int n1,n2; scanf("%d",&n2); while(n2!=0) { n1=n2%10; n2=n2/10; printf("%d",n1); } } 如果从键盘上输入1298;该程序的输出结果是________________。 5、main ( ) { int k=1,n=263 ; do { k*= n%10 ; n/=10 ; } while (n) ; printf(“%d\n”,k); } 该程序的输出结果是________________。
C语言期末考试试卷
姓名:
一、单项选择题(40分)
1、C语言中用于结构化程序设计的3种基本结构是 ( ) A)顺序结构、选择结构、循环结构 B)if,switch,break C)if,while,do-while D)if,else,continue 2、C语言中最简单的数据类型包括 ( ) A)整型、实型、逻辑型 B)整型、实型、字符型 C)整型、字符型、逻辑型 D)字符型、实型、逻辑型 3、C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一 个字符 ( ) A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母,数字和下划 线中任一字符 4、下列数据中,不合法的C语言实型数据的是 ( ) A)0.123 B)123e3 C)2.1e3.5 D)789.0 5、若有说明语句:char c='\72';则变量c ( ) A)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明不合法,c的值不确定 6、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int) (x+y)%2/4的值是( ) A)2.500000 B)2.750000 C)3.500000 D)0.000000 7、设变量a是int型,f是float型,i是double型,则表达式10+′a′ +i*f值的数据类型为( ) A)int B)float C)double D)不确定 8、设有int x=11;则表达式(x++*1/3)的值是 ( ) A)3 B)4 C)11 D)12 9、已知int a=6; 则执行a+=a-=a*a;语句后,a的值为 ( ) A)36 B)0 C)-24 D)-60
四、写出下列程序的结果:(Βιβλιοθήκη Baidu0分)
1、main() {int x=17,y=26; printf ("%d",y/=(x%=6));} 该程序段的输出结果是________________。 2、main() {float x=2.0,y; if(x<0.0)y=0.0; else if(x<10.0)y=1.0/x; else y=1.0; printf("%f\n",y);} 该程序的输出结果是________________。 3、 main() {int k=8; switch(k) {case 9:k+=1; case 10:k+=1; case 11:k+=1;break; default:k+=1;} printf("%d\n",k);} 该程序的输出结果是________________。
二、填空题:(10分)
1、在“* != + = ”以运算符中,优先级最低的运算符 是 _____________ 。 2、设ch是 char型变量,其值为 'A',则表达式ch=(ch>='A'&& ch<='Z')? (ch+32):ch 的值是__________。 3、若有说明和语句:int a=25,b=60;b=++a;则b的值 是__________ 。 4、语句的种类有:表达式语句、___________、复合语句、函数语句、 控制语句五种。 5、若k为int型变量且赋值11,请写出运算k++后表达式的值 。 6、将以下表达式max=(a>b)?a:b;写成if-else语句是: ___________________________________。 7、复合语句是用一对 界定的语句块。 8、已知a,b,c是一个十进制数的百位,十位,个位,则该数的表达式是 。 9、一个表达式要构成一个C语句,必须 。 10、scanf()输入数据时,遇到下列情况时该数据认为结束: , 回车,TAB键。
10、设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是 ( ) A)、 把x和y从小到大排列 B)、 把x和y从大到小排列 C)、 无确定结果 D)、 交换x和y中的值 11、在C程序中,判逻辑值时,用“非0”表示逻辑值“真”, 又 用“0”表示逻辑值“假”。 在求逻辑值时,用()表示逻辑表达式值 为“真”,又用()表示逻辑表达式值为“假”。( ) A)1 0 B)0 1 C)非0 非0 D)1 1 12、已知int x=6,y=2,z;则执行表达式z=x=x>y后,变量z的值为 ( ) A)0 B)1 C)4 D)5 13、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是 ( ) A)a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 &&a<=0 D) a>=10‖a<=0 14、有如下程序段 int a=14,b=15,x; char c=′A′; x=(a&&b)&&(c<′B′); 执行该程序段后,x的值为 ( ) A)ture B)false C)0 D)1 15、若运行时给变量x输入12,则以下程序的运行结果是 ( ) main() {int x,y; scanf("%d",&x); y=x>12?x+10:x-12; printf("%d\n",y); } A)0 B)22 C)12 D)10 16、已知 int t=0; while(t=1) {...} 则以下叙述正确的是 ( ) A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对 17、以下程序段的描述,正确的是 ( ) x=-1; do {x=x*x;} while(!x); A)是死循环 B)循环执行两次 C)循环执行一次 D)有
三、判断题(10分)
1、main函数必须写在一个C程序的最前面。 ( ) 2、.C程序的注释不能是中文文字信息。 ( )
3、%运算符要求运算数必须是整数。 ( ) 4、C语言不允许混合类型数据间进行运算。 ( ) 5、switch语句的case表达式必须是常量表达式。 ( ) 6、switch语句的表达式与case表达式的类型必须一致。 ( ) 7、do-while循环的while后的分号可以省略。 ( ) 8、在C程序中,每行中只能写一条语句。 ( ) 9、在C程序中,逗号运算符的优先级最低。 ( ) 10、int,char和short三种类型数据在内存中所占用的字节数是任意 的。 ( )
五、编写程序:(20分)
1、编程序,用scanf()函数读入一个字母赋给变量ch1,如果变
量ch1的值是大写字母,则将它转换成小写字母,如果变量ch1 的值是小写字母,则按原样输出。(用if-else语句完成)(6 分)
2、编程序,打印10遍“ABC”,要求每打印一遍之后要换行。 (用do-while语句完成)(8分)
3、编程序,已知一圆柱体的底面半径为2.5,高为5。编写程序求圆
柱体的体积。(圆柱体的体积公式为:底面积*高)(6分)
语法错误 18、C语言中 while 和do-while循环的主要区别是 ( ) A)do-while的循环体至少无条件执行一次 B)while的循环控制条件比do-while的循环控制条件更严格 C)do-while允许从外部转到循环体内 D)do-while 的循环体不能是复合语句 19、对于输入函数调用语句scanf(“a=%d,c=%f”,&a,&c);如果要求输 入a的值为4,c的值为56.8,键盘输入数据的格式是 ( ) A、4 56.8 B、4,56.8 C、a=4 ,56.8 D、a=4,c=56.8 20、有以下程序,如果从键盘输入字符D,程序的输出结果是 ( ) #include <stdio.h> Main() {putchar(getchar()+32); } A、D B、E C、b D、d