大学C语言考试题库含答案.docx
- 文档编号:12409272
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:76
- 大小:43.95KB
大学C语言考试题库含答案.docx
《大学C语言考试题库含答案.docx》由会员分享,可在线阅读,更多相关《大学C语言考试题库含答案.docx(76页珍藏版)》请在冰豆网上搜索。
大学C语言考试题库含答案
单项选择
==================================================
题号:
1482
执行以下程序段后,输出结果和a的值是().inta=10;printf("%d",a++);
A、11和10
B、11和11
C、10和11
D、10和10
答案:
C
题号:
2100
已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D'.执行语句printf("%d,%d",c1,c2—2);后,输出结果是
A、65,66
B、A,B
C、65,68
D、A,68
答案:
A
题号:
5055
相同结构体类型的变量之间,可以()。
A、比较大小
B、地址相同
C、赋值
D、相加
答案:
C
题号:
3217
inta[10];合法的数组元素的最小下标值为().
A、1
B、0
C、10
D、9
答案:
B
题号:
45
能正确表示逻辑关系:
”a≥10或a≤0”的C语言表达式是
A、a〉=0|a<=10
B、a〉=10ora<=0
C、a>=10&&a<=0
D、a〉=10||a<=0
答案:
D
题号:
157
main()
{intx=1,a=0,b=0;
switch(x)
{case0:
b++;
case1:
a++;
case2:
a++;b++;}printf(”a=%d,b=%d”,a,b);
}该程序的输出结果是()
A、2,2
B、2,1
C、1,1
D、1,0
答案:
B
题号:
4784
设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的
数据类型为()。
A、不确定
B、double
C、int
D、float
答案:
B
题号:
1647
以下程序中,while循环的循环次数是______
main()
{
inti=0;
while(i〈10)
{
if(i〈1)continue;
if(i==5)break;
i++;
}
}
A、死循环,不能确定次数
B、6
C、4
D、1
答案:
A
题号:
191
若有说明语句:
charc=’\72’;则变量c().
A、说明不合法,c的值不确定
B、包含3个字符
C、包含1个字符
D、包含2个字符
答案:
C
题号:
1300
下列程序运行结果为:
#defineP3
#defineS(a)P*a*a
main()
{intar;
ar=S(3+5);
printf(”\n%d",ar);
}
A、192
B、25
C、29
D、27
答案:
C
判断
==================================================
题号:
6755
若i=3,则printf(”%d”,-i++);输出的值为-4.
答案:
错误
题号:
6167
表达式(j=3,j++)的值是4。
答案:
错误
题号:
1495
C语言中只能逐个引用数组元素而不能一次引用整个数组.
答案:
正确
题号:
2921
参加位运算的数据可以是任何类型的数据。
答案:
错误
题号:
2691
若有inti=10,j=2;则执行完i*=j+8;后ⅰ的值为28。
答案:
错误
题号:
464
若a=3,b=2,c=1则关系表达式”(a〉b)==c”的值为”真".
答案:
正确
题号:
66
若有#defineS(a,b)a*b则语句area=S(3,2);area的值为6。
答案:
正确
题号:
758
若有宏定义:
#defineS(a,b)t=a;a=b;b=t由于变量t没定义,
所以此宏定义是错误的。
答案:
错误
题号:
2158
#define和printf都不是C语句。
答案:
正确
题号:
5102
关系运算符〈=与==的优先级相同.
答案:
错误
填空
==================================================
题号:
1076
表达式3。
5+1/2的计算结果是_____。
答案:
空1:
3.5
题号:
551
请写出以下程序的输出结果_____。
main()
{inta=100;
if(a〉100)printf(“%d\n”,a>100);
elseprintf(“%d\n",a〈=100);
}
答案:
空1:
1
题号:
3255
表达式(int)((double)(5/2)+2。
5)的值是_____.
答案:
空1:
4
题号:
2472
阅读下面程序,程序执行后的输出结果为_____.
#include”stdio。
h”
main()
{
chara,b;
for(a=′0′,b=′9′;a
printf("%c%c”,a,b);
printf("\n”);
}
答案:
空1:
0918273645
题号:
937
以下程序段的输出结果是_____。
inti=0,sum=1;
do
{sum+=i++;
}while(i<5);
printf(“%d\n",sum);
答案:
空1:
11
题号:
5213
以下程序段的输出结果是_____、_____、_____、_____、_____。
intx=0177;
printf(“x=%3d,x=%6d,x=%6o,x=%6x,x=%6u\n”,x,x,x,x,x);
答案:
空1:
x=127
空2:
x=127
空3:
x=177
空4:
x=7f
空5:
x=127
题号:
3210
以下程序的输出结果是_____。
main()
{inta=3,b=2,c=1;
c—=++b;
b*=a+c;
{intb=5,c=12;
c/=b*2;
a—=c;
printf(“%d,%d,%d,”,a,b,c);
a+=--c;
}
printf(“%d,%d,%d\n”,a,b,c);
}
答案:
空1:
2,5,1,2,3,-2
题号:
4474
当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是_____、最小十进制整数是_____,它们的二进制形式是_____。
答案:
空1:
65535
空2:
-32768
空3:
1111111111111111,1000000000000000
题号:
2791
结构化程序由_____、_____、_____三种基本结构组成.
答案:
空1:
顺序
空2:
条件分支【或】选择
空3:
循环
题号:
561
阅读下面程序,程序执行后的输出结果是_____。
#include"stdio。
h"
main()
{
intx,y,z;
x=1;y=2;z=3;
if(x>y)
if(x〉z)printf("%d",x);
elseprintf(”%d”,y);
printf("%d\n”,z);
}
答案:
空1:
3
程序设计
==================================================
题号:
2660
/*—-——--—————-—————-——-—-——-———-—-—-——-——---—-—-—-
【程序设计】
-—-—————-—-————--———-—--—-——----—---——————-——-——-—
功能:
计算出k以内最大的10个能被13或17整除的自然数之
和。
(k〈3000).
-————————-———-—————-—-————---———--——-————————-——*/
#include h〉 #include”conio。 h" voidbky(); intfun(intk) { /**********Begin**********/ /**********End**********/ } main() { intm; printf(”Enterm: ”); scanf("%d",&m); printf(”\nTheresultis%d\n”,fun(m)); bky(); } voidbky() { FILE*IN,*OUT; ints; intt; into; IN=fopen("in。 dat","r”); if(IN==NULL) { printf("ReadFILEError”); } OUT=fopen("out.dat”,"w"); if(OUT==NULL) { printf(”WriteFILEError"); } for(s=1;s〈=5;s++) { fscanf(IN,”%d”,&t); o=fun(t); fprintf(OUT,”%d\n”,o); } fclose(IN); fclose(OUT); } 示例代码: inta=0,b=0; while((k>=2)&&(b〈10)) {if((k%13==0)||(k%17==0)) {a=a+k;b++;} k--; } returna; 题号: 5854 C语言中不可以嵌套的是()。 A、选择语句 B、循环语句 C、函数调用 D、函数定义 答案: D 题号: 1957 C语言中,逻辑”真”等价于 A、非零的整数 B、大于零的整数 C、非零的数 D、大于零的数 答案: C 题号: 3786 用户定义的函数不可以调用的函数是()。 A、本文件外的 B、main函数 C、本函数下面定义的 D、非整型返回值的 答案: B 题号: 1764 以下叙述中正确的是(). A、C程序中注释部分可以出现在程序中任意合适的地方 B、分号是C语句之间的分隔符,不是语句的一部分 C、花括号“{“和”}”只能作为函数体的定界符 D、构成C程序的基本单位是函数,所有函数名都可以由用户命名 答案: A 题号: 299 下面四个选项中,均是不合法的浮点数的选项是()。 A、-e3。 2341e3 B、160。 0。 12e3 C、1232e4.2。 e5 D、-.18123e40。 0 答案: C 题号: 6131 假定所有变量均已正确定义,下列程序段运行后x的值是(). k1=1; k2=2; k3=3; x=15; if(! k1)x--; elseif(k2)x=4; elsex=3; A、15 B、14 C、3 D、4 答案: D 题号: 3208 若变量已正确定义,以下程序段的输出结果是 x=5。 16894; printf(“%f\n”,(int)(x*1000+0。 5)/(float)1000); A、5.17000 B、输出格式说明与输出项不匹配,输出无定值 C、5。 168000 D、5。 169000 答案: D 题号: 5043 以下选项中合法的实型常数是()。 A、5E2。 0 B、1。 3E C、E—3 D、。 2E0 答案: D 题号: 5608 有以下程序 main() {inti; for(i=0;i〈3;i++) switch(i) {case1: printf("%d”,i); case2: printf("%d”,i); default: printf("%d”,i); } } 执行后输出结果是 A、011122 B、120 C、012020 D、012 答案: A 题号: 572 对以下说明语句inta[10]={6,7,8,9,10};的正确理解是()。 A、将5个初值依次赋给a[1]至a[5] B、将5个初值依次赋给a[6]至a[10] C、因为数组长度与初值的个数不相同,所以此语句不正确 D、将5个初值依次赋给a[0]至a[4] 答案: D 判断 ================================================== 题号: 1325 若有说明intc;则while(c=getchar());是正确的C语句。 答案: 正确 题号: 3386 若有intⅰ=10,j=0;则执行完语句 if(j=0)ⅰ++;elseⅰ——;ⅰ的值为11。 答案: 错误 题号: 464 若a=3,b=2,c=1则关系表达式"(a>b)==c”的值为”真”. 答案: 正确 题号: 2316 while和do…while循环不论什么条件下它们的结果都是相同的。 答案: 错误 题号: 2989 charc[]=”VeryGood”;是一个合法的为字符串数组赋值的语句。 答案: 正确 题号: 5034 语句scanf("%7.2f”,&a);是一个合法的scanf函数。 答案: 错误 题号: 2067 如果想使一个数组中全部元素的值为0,可以写成 inta[10]={0*10}; 答案: 错误 题号: 5263 x*=y+8等价于x=x*(y+8)。 答案: 正确 题号: 3862 如果函数值的类型和return语句中表达式的值不一致,则以 函数类型为准. 答案: 正确 题号: 3558 整数—32100可以赋值给int型和longint型变量。 答案: 正确 填空 ================================================== 题号: 551 请写出以下程序的输出结果_____。 main() {inta=100; if(a〉100)printf(“%d\n",a〉100); elseprintf(“%d\n”,a<=100); } 答案: 空1: 1 题号: 1575 对以下数学式,写出三个等价的C语言表达式是_____、_____、_____ 答案: 空1: a/c/b【或】a/(b*c)【或】a/b/c 空2: a/c/b【或】a/b/c【或】a/(b*c) 空3: a/b/c【或】a/c/b【或】a/(b*c) 题号: 1076 表达式3.5+1/2的计算结果是_____。 答案: 空1: 3.5 题号: 2758 若x为double型变量,请写出运算x=3.2,++x后表达式的值_____和变量的值_____。 答案: 空1: 4。 2 空2: 4。 2 题号: 582 以下程序的执行结果是_____。 main() { intk=8; switch(k) { case9: k+=1; case10: k+=1; case11: k+=1;break; default: k+=1; } printf("%d\n”,k); } 答案: 空1: 9 题号: 2868 若要通过以下语句给a、b、c、d分别输入字符A、B、C、D,给w、x、y、z分别输入 10、20、30、40,正确的输入形式是_____。 请用〈CR〉代表Enter键. scanf(“%d%c%d%c%d%c%d%c",&w,&a,&x,&b,&y,&c,&z,&d); 答案: 空1: 10A20B30C40D〈CR〉 题号: 4063 以下程序段的输出结果是_____、_____、_____、_____ doublea=513.789215; printf(“a=%8。 6f,a=%8.2f,a=%14。 8f,a=%14。 8lf\n”,a,a,a,a); 答案: 空1: a=513。 789215 空2: a=513。 79 空3: a=513。 78921500 空4: a=513.78921500 题号: 5076 以下程序的输出结果是_____。 main() {inta=0; a+=(a=8); printf("%d\n”,a);} 答案: 空1: 16 题号: 5410 以下程序的执行结果是_____。 main() { inta,b,*p=&a,*q=&b; a=10; b=20; *p=b; *q=a; printf(“a=%d,b=%d\n”,a,b); } 答案: 空1: a=20,b=20 题号: 6975 以下程序的输出结果是_____。 main() {intx=2; while(x—-); printf(“%d\n”,x); } 答案: 空1: —1 程序设计 ================================================== 题号: 58 /*——-—-——---————-----—-———-———-——----———-———————-- 【程序设计】 ——-———-—————--——---—-————-——-—————-—-——-———-—--—-- 功能: 将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 ———-—-———-——--—-—-—-—-———————-———-—-—--——-———-—-*/ #include”string。 h” #include〈stdio。 h〉 voidbky(); voidchange(charstr[]) { /**********Begin**********/ /**********End**********/ } main() { voidchange(); charstr[40]; gets(str); change(str); puts(str); bky(); } voidbky() { FILE*IN,*OUT; chari[200]; IN=fopen(”in。 dat”,"r"); if(IN==NULL) { printf(”ReadFILEError"); } OUT=fopen(”out.dat”,"w”); if(OUT==NULL) { printf("WriteFILEError”); } fscanf(IN,"%s”,i); change(i); fprintf(OUT,”%s\n”,i); fclose(IN); fclose(OUT); } 示例代码: inti; for(i=0;str[i]! =’\0’;i++) if(str[i]〉=’a'&&str[i]〈=’z') str[i]=str[i]-32; 题号: 45 能正确表示逻辑关系: ”a≥10或a≤0”的C语言表达式是 A、a>=0|a〈=10 B、a〉=10ora<=0 C、a〉=10&&a<=0 D、a〉=10||a〈=0 答案: D 题号: 53 若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是()。 A、int*p=&x; B、intp=&x; C、*p=*x; D、int*p=x; 答案: A 题号: 2244 字符串指针变量中存入的是 A、第一个字符 B、字符串 C、字符串的首地址 D、字符串变量 答案: C 题号: 3722 下列字符数组长度为5的是 A、charc[10]={'h’,’a','b’,'c’,'d’}; B、charb[]={’h’,’a’,'b’,’c’,’d’,’\0'}; C、chara[]={’h’,’a’,’b',’c','d'}; D、chard[6]={'h',’a','b’,’c',’\0'}; 答案: C 题号: 2703 从键盘上输入某字符串时,不可使用的函数是()。 A、getchar() B、scanf() C、fread() D、gets() 答案: A 题号: 3402 以下对整型数组a的正确说明是: A、intn=10,a[n]; B、 C、 D、inta(10); 答案: C 题号: 130 若chara[10];已正确定义,以下语句中不能从键盘上给a数组的 所有元素输入值的语句是()。 A、scanf(”%s”,a); B、for(i=0;i〈10;i++)a[i]=getchar(); C、a=getchar(); D、gets(a); 答案: C 题号: 191 若有说明语句: charc=’\72';则变量c(). A、说明不合法,c的值不确定 B、包含3个字符 C、包含1个字符 D、包含2个字符 答案: C 题号: 4539 以下程序的输出结果是 main() {inti=1,j=3; printf(“%d,”,i++); {inti=0; i+=j*2; printf(“%d,%d,",i,j); } pritnf(“%d,%d\n",i,j); } A、1,6,3,2,3 B、2,7,3,2,3 C、1,7,3,2,3 D、2,6,3,2,3 答案: A 题号: 300 以下对一维整型数组a的正确说明是()。 A、#defineSIZE10(换行)inta[SIZE]; B、inta(10); C、intn;scanf(”%d”,&n);inta[n]; D、intn=10,a[n]; 答案: A 判断 ================================================== 题号: 2691 若有inti=10,j=2;则执行完i*=j+8;后ⅰ的值为28. 答案: 错误 题号: 2067 如果想使一个数组中全部元素的值为0,可以写成 inta[10]={0*10}; 答案: 错误 题号: 1118 函数调用语句: func(rec1,rec2+rec3,(rec4,r
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学 语言 考试 题库 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)