试卷编号:9618
所属语言:C语言
共有题型:5种
一、填空共8题(共计8分)
第1题(分)题号:513
若有以下定义,则计算表达式y+=y-=m*=y后的y值是【1】.
int m=5,y=2;
答案:
=======(答案1)=======
-16
第2题(分)题号:84
写出语句 b=(a=6,a*3); 执行后整型变量b 的值是【1】.
答案:
=======(答案1)=======
18
第3题(分)题号:293
getchar()函数只能接收一个【1】.
答案:
=======(答案1)=======
字符
第4题(分)题号:437
以下程序的输出结果为【1】,
#include "" main(){int
a=010,j=10;printf("%d,%d\n",++a,j--);}
答案:=======(答案1)=======
9,10
第5题(分)题号:86
写出表达式 && 的值是【1】.
答案:
=======(答案1)=======
1
第6题(分)题号:303
为了避免嵌套条件语句的二义性,C语言规定else与其前面最近的【1】语句配对.
答案:
=======(答案1)=======
if
第7题(分)题号:311
若所用变量均已正确定义,则执行下面程序段后的值是【1】.
for(i=0 ; i<2 ; i++ ) printf("YES"); printf("\n");
答案:
=======(答案1)=======
YESYES
第8题(分)题号:312
以下程序段要求从键盘输入字符,当输入字母为'Y' 时,执行循环体,则括号内应填写【1】.
ch=getchar();
while(ch ____ 'Y')/*在括号中填写*/ ch=getchar();
答案:
=======(答案1)=======
==
二、判断共15题(共计15分)
第1题(分)题号:937
在C程序中,每行中只能写一条语句
答案:N
第2题(分)题号:928
C程序中的关键字必须小写.
答案:Y
第3题(分)题号:715
整数 -32100可以赋值给int型和long int 型变量.
答案:Y
第4题(分)题号:929
在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char <=float 答案:Y 第5题(分)题号:947 printf函数中,%c和%s都可以输出字符串. 答案:N 第6题(分)题号:194 若有定义和语句: int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f); 若通过键盘输入: 10,A,,则a=10,c='A',f=. 答案:Y 第7题(分)题号:944 C语言中,赋值表达式加上分号就构成了赋值语句. 答案:Y 第8题(分)题号:961 C语言本身并不提供输入输出语句.但可以通过输入输出函数来实现数据的输入输出. 答案:Y 第9题(分)题号:950 逻辑运算符中的"&&"和"||"低于关系运算符,"!"高于算术运算符. 答案:Y 第10题(分)题号:951 在执行switch语句时,default和各个case 的出现次序不影响执行结果. 答案:Y 第11题(分)题号:723 若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真". 答案:Y 第12题(分)题号:709 int i=20;switch(i/10){case 2:printf("A"); case 1:printf("B");}的输出结果为A. 答案:N 第13题(分)题号:742 若有说明int c;则while(c=getchar());是正确的C语句. 答案:Y 第14题(分)题号:954 continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立. 答案:Y 第15题(分)题号:952 do-while循环是先判断循环条件表达式,后执行循环体;while循环是先执行循环体,后判断循环条件表达式. 答案:N 三、单项选择共20题(共计40分) 第1题(分)题号:2016 设C语言中,int类型数据占2个字节,则short类型数据占(). A:1个字节 B:2个字节 C:4个字节 D:8个字节 答案:B 第2题(分)题号:2209 若变量已正确定义并赋值,下面符合C语言语法的表达式是(). A:a:=b+1 B:a=b=c+2 C:int %3 D:a=a+7=c+b 答案:B 第3题(分)题号:2000 以下的选择中,正确的赋值语句是(). A:a=1,b=2 B:j++ C:a=b=5; D:y=int(x) 答案:C 第4题(分)题号:2130 下列字符序列中,是C语言保留字的是(). A:sizeof B:include C:scanf D:sqrt 答案:A 第5题(分)题号:2211 设以下变量均为int类型,则值不等于7的表达式是(). A:(x=y=6,x+y,x+1) B:(x=y=6,x+y,y+1) C:(x=6,x+1,y=6,x+y) D:(y=6,y+1,x=y,x+1) 答案:C 第6题(分)题号:2127 下列程序段的输出结果为(). float k=; printf("%4.1f%%",k*100); A:%% B:% C:% D:.857 答案:B 第7题(分)题号:2135 下列程序段的输出结果为(). int x=3,y=2; printf("%d",(x-=y,x*=y+8/5)); A:1 B:7 C:3 D:5 答案:C 第8题(分)题号:2189 从键盘上输入某字符串时,不可使用的函数是(). A:getchar() B:gets() C:scanf() D:fread() 答案:A 第9题(分)题号:2039 若k为int型变量,则以下程序段的执行结果是(). k=-8567; printf("k=|%06D|\n"); A:格式描述符不合法,输出无定值 B:输出为k=|%06D| C:输出为|0-8567| D:输出为|-8567| 答案:B 第10题(分)题号:2049 以下程序的输出结果为(). main() {int i=010,j=10; printf("%d,%d\n",++i,j--); } A:11,10 B:9,10 C:010,9 D:10,9 答案:B 第11题(分)题号:2144 int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c; 则a的值为(). A:1 B:2 C:3 D:不一定 答案:A 第12题(分)题号:2259 以下关于运算符优先顺序的描述中正确的是(). A:关系运算符<算术运算符<赋值运算符<逻辑运算符 B:逻辑运算符<关系运算符<算术运算符<赋值运算符 C:赋值运算符<逻辑运算符<关系运算符<算术运算符 D:算术运算符<关系运算符<赋值运算符<逻辑运算符 答案:C 第13题(分)题号:2318 在C语言中,要求运算数必须是整型的运算符 是(). A:&& B:% C:! D:|| 答案:B 第14题(分)题号:2261 若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达 式的值为"假",则以下不能满足要求的表达式是(). A:A%2==1 B:!(A%2==0) C:!(A%2) D:A%2 答案:C 第15题(分)题号:2063 执行下列语句后的输出为(). int j=-1; if(j<=1) printf("****\n"); else printf("%%%%\n"); A:**** B:%%%% C:%%%%c D:有错,执行不正确 答案:A 第16题(分)题号:2248 下面有关 for 循环的正确描述是(). A:for 循环只能用于循环次数已经确定的情况 B:for 循环是先执行循环循环体语句,后判断表达式 C:在 for 循环中,不能用 break 语句跳出循环体 D:for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 答案:D 第17题(分)题号:2059 以下程序的运行结果是(). main() { int n; for(n=1;n<=10;n++) { if(n%3==0) continue; printf("%d",n); } } A: B:369 C:12 D:90 答案:A 第18题(分)题号:2141 以下程序段的输出结果为(). for(i=4;i>1;i--) for(j=1;j putchar('#'); A:无 B:###### C:# D:### 答案:B 第19题(分)题号:2251 以下不是无限循环的语句为(). A:for(y=0,x=1;x>++y;x=i++) i=x; B:for(;;x++=i); C:while(1){x++;} D:for(i=10;;i--) sum+=i; 答案:A 第20题(分)题号:2249 若i为整型变量,则以下循环执行次数是(). for(i=2;i==0;) printf("%d",i--); A:无限次 B:0次 C:1次 D:2次 答案:B 四、程序填空共3题(共计27分) 第1题(分)题号:405 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:要求输出结果为: A,B 65,66 -------------------------------------------------------*/ #include<> void main() /***********SPACE***********/ {char a,【?】 /***********SPACE***********/ a=【?】; b='b'; a=a-32; /***********SPACE***********/ b=b-【?】; printf("%c, %c\n%d,%d\n",a,b,a,b); } 答案: =======(答案1)======= b; =======(答案2)======= 'a' =========或========= 97 =======(答案3)======= 32 第2题(分)题号:25 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:以下程序的功能如(图1)。 -------------------------------------------------------*/ /***********SPACE***********/ 【?】 main() { float x,f; scanf("%f",&x); /***********SPACE***********/ if(x<0) 【?】; /***********SPACE***********/ else if(【?】) f=2*x+1; else f=sin(x)+5; /***********SPACE***********/ printf("x=%f,y=%f\n", 【?】); } 答案: =======(答案1)======= #include "" =========或========= #include <> =======(答案2)======= f=fabs( x + 1 ) =======(答案3)======= x<=5 =========或========= 5>=x =========或========= x<6 =========或========= 6>x =========或========= x>=0&&x<=5 =========或========= 0<=x&&x<=5 =========或========= x>=0&&5>=x =========或========= 0<=x&&5>=x =========或========= !(x>5) =======(答案4)======= x,f 第3题(分)题号:24 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:以下程序的功能是对任一整数N(N≠0),它都可以分解成1 (或-1)和一些质数(素数)因子的形式。如N=150时,可分 解成1×2×3×5×5;N=-150时,可分解为-1×2×3×5×5。 下边程序能实现这种分解过程。当 N=150,输出以下分解结 果:N= 1* 2* 3* 5* 5 -------------------------------------------------------*/ main() { int n,i,j,r; scanf("%d",&n); if (n==0) { printf ("data error \n"); exit(0); } /***********SPACE***********/ else if (【?】 ) printf("n=1"); else { printf("n=-1"); n=-n; } /***********SPACE***********/ for(【?】;i<=n;i++) { /***********SPACE***********/ 【?】 ; while(r==0) { printf("*%d",i); /***********SPACE***********/ 【?】 ; r=n%i; } } printf("\n"); } 答案: =======(答案1)======= n>0 =========或========= 0 =======(答案2)======= i=2 =======(答案3)======= r=n%i =======(答案4)======= n=n/i =========或========= n/=i 五、程序设计共1题(共计10分) 第1题(分)题号:365 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 19题目:编写函数fun,函数的功能是:求一个 四位数的各位数字的立方和 -------------------------------------------------- 注意:部分源程序给出如下。请勿改动主函数 main和其它函数中的任何内容,仅在函 数fun的花括号中填入所编写的若干语句。 ------------------------------------------------*/ #include "" int fun(int n) { /**********Program**********/ /********** End **********/ } main() { int k; k=fun(1234); printf("k=%d\n",k); yzj(); getch(); } yzj() { FILE *IN,*OUT; int iIN,iOUT,i; IN=fopen("","r"); if(IN==NULL) {printf("Please Verify The Currernt Dir..It May Be Changed"); } OUT=fopen("","w"); if(OUT==NULL) {printf("Please Verify The Current Dir.. It May Be Changed"); } for(i=0;i<5;i++) {fscanf(IN,"%d",&iIN); iOUT=fun(iIN); fprintf(OUT,"%d\n",iOUT); } fclose(IN); fclose(OUT); } 答案:---------------------- int d,k,s=0; while (n>0) {d=n%10; s+=d*d*d; n/=10; } return s; ----------------------