C程序第一次考试题库
目录
一、填空(31题)(注:因机器阅卷,给答案时千万不要乱加空格) (1)
二、选择(45题) (3)
三、判断(19题) (11)
四、程序设计题(32题) (12)
候选:读程序(21题)........................................................................ 错误!未定义书签。于文莉................................................................................................. 错误!未定义书签。赵小芳................................................................................................. 错误!未定义书签。
一、填空(31题)(注:因机器阅卷,给答案时千万不要乱加空格)
1、运行printf("%d\n",012);后,输出(10)
2、运行printf("%d\n%d",-0x41);后输出(-65)
3、256.56用指数形式表示为()
4、字符串“abc d”(注:c和d之间有一个空格)在内存中占(6)个字节
5、a=3 ;b=2;c=1 ;a==b>c;输出a为(0
6、a=3 ;b=2;c=1 ;f=a>b>c;输出f为(0)
7、a=0; b=0; ! a && (5>3) || b的值为(1)
8、4 && 5>3 || 2 的结果为(1)
9、putchar('\101');结果为(A)
10、
11、在C语言中,当表达式值为0时表示逻辑值“假”,当表达式值为 !0 时
表示逻辑值“真”。
12、在C语言中(在VC 6.0编译系统下),—个char型数在内存中所占的字节数为
1 ,一个int型数据在内存中所占的字节数为 4 , 一个short型数据在内存
中所占字节数为 2 ,一个long型数据在内存中所占字节数为 4 ,一个
double型数据在内存中所占字节数为 8 。
13、十进制数75,用二进制表示为,用八进制表示
为,用十六进制表示为。
14、设整数在内存中用2个字节存储,对于十进制整数-11,其在存储单元中存储
为。
15、int a=3,b=2,c=1;则表达式(a>b)= =c 的值为 1 。(请填写0或1)
16、若a、b之一为真,则a || b 的值为___________1。(请填写0或1)
17、若a=14,b=15,a && b的值为______1_____。(请填写0或1)
18、
19、
20、若整形变量a和b中的值分别为7和9,其输出形式如下:
a=7
b=9 (注:光标停留在9之后第1列,无换行)
请写出输出语句
21
22、整型变量x存了一个三位数,下列程序可求出个位、十位、百位上的数字。
#include
main()
{ int x=256;
printf(“%d-%d-%d\n”,x%10 ,x/10%10,x/100);
}
23、有以下程序
#include
void main()
{ int x;
scanf("%d",&x);
if(x>15) printf("%d",x-5);
if(x>10) printf("%d",x);
if(x>5) printf("%d\n",x+5);
}
若程序运行时从键盘输入12<回车>,则输出结果为1217
24、算法的5个特性有穷性、确定性、有一个或多个、、
(空一个作为填空题)
25、如 float x=4.3; int a; a=4*x+(int)x; 则a的值为__21__。
26、八进制数372化为二进制数为_____,16进制数2A8化为二进制数为
______
27、已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达
式ch='a'+'8'-'3'的值为字符f
28、执行以下语句,输出结果为25,21,37
main(){
int a , b, c;
a = 25;
b = 025;
c = 0x25;
printf("%d,%d,%d\n",a, b, c);
}
29、若建立一个C的源程序文件,主文件名为abc,则C编译器认定的该源文件全名是
__abc.c_,编译后形成的文件全名是__abc.obj__,连接后形成的文件全名是___abc.exe__。
30、一个程序若用到开方、求绝对值两个函数,则需要包含头文件____math.h_;若用到
getchar(),则需要包含头文件____stdio.h__。
31、在VC中调试程序,运行到光标所在处的快捷键是___ctrl+f10___,单步运行程序
(不进入函数调用)的快捷键是_f10_____,单步运行(进入函数调用)的快捷键是_____f11_
二、选择(45题)
1、以下叙述中正确的是:
A)C程序的基本单位是语句而不是函数
B)C程序中的每一行只能写一条语句
C)C语句必须以分号结束
D)一条C语句必须在一行内写完
2、在C语言程序中
A)main函数必须放在程序的开始位置
B)main函数可以放在其他函数的前面、后面或中间
C)main函数必须放在程序的最后
D)main函数只能出现在库函数中
3、计算机能直接执行的程序是
A)源程序B)目标程序C)汇编程序D)扩展名为.exe的文件可执行程序
4、以下选项中不能作为C语言合法常量的是
A)'cd' B)0.1e+6 C)"\\a" D)'\011'
5、以下选项中正确的定义语句是
A)double a;b; B)double a=b=7;
C)double a=7,b=7;D)double,a,b;
以下选项中合法的标识符是
A)1_1 B)1-1 C)_11 D)1_ _
6、有以下定义语句,编译时会出现编译错误的是
A)char a=?a?;B)char a=’\n’;
C)char a=?aa?;D)char a=?\x2d?;
7、以下不能正确表示代数式2ab/cd的C语言表达式是
A)2*a*b/c/d B)a*b/c/d*2 C)a/c/d*b*2 D)2*a*b/c*d
8、有以下程序
#include
int main()
{ char c1,c2;
c1=?A?+?8?-…4?;
c2=?A?+?8?-…5?;
printf(“%c,%d\n”,c1,c2);
return 0;
}
已知字母A的ASCII码为65,程序运行后的输出结果是
A)E,68 B) D,69 C) E,D D)输出无定值
9、14、若变量已正确定义为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,3<回车>
10、程序段:int x=12; double y=3.141593; printf(“%d%8.6f”,x,y); 的输出结果是
A)123.141593 B) 123.1415930
C) 12,3.141593 D)123.1415930
11、有以下程序
#include
int main()
{ char a,b,c,d;
scanf(“%c%c”,&a,&b);
c=getchar(); d=getchar();
printf(“%c%c%c%c\n”,a,b,c,d);
return 0;
}
当执行程序时,按下列方式输入数据(从第1列开始,
12
34
则输出结果是
A) 1234
B) 12
C) 12
3
D) 12
34
12、若有表达式(w)?(--x):(++y),则下列选项中与其等价的表达式是:
A)(w==1)?(--x):(++y) B)( w==0)?(--x):(++y) C)(w!=1)?(--x):(++y)
D)(w!=0)?(--x):(++y)
13、执行以下程序段后,w的值为
int w='A',x=14,y=15;
w=((x||y)&&(w<'a'));
A)-1 B)NULL C)1 D)0
14、有以下程序段
int a,b,c;
a=10;
b=50;
c=30;
if(a>b)
a=b,b=c;
c=a;
printf("a=%d b=%d c=%d\n",a,b,c);
程序的输出结果是:
A)a=10 b=50 c=10B)a=10 b=50 c=30
C)a=10 b=30 c=10 D)a=50 b=30 c=50
15、有以下程序
#include
int main()
{int x=1,y=2,z=3;
if(x>y)
if(y else printf("%d",++y); printf("%d\n",x++); return 0 ; } 程序的运行结果是 A)331 B)41 C)2 D)1 16、以下是if语句的基本形式: if (表达式)语句 其中“表达式” A)必须是逻辑表达式B)必须是关系表达式 C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式 17、有以下程序 int main() {int x; scanf(“%d”,&x); if(x<=3);else if(x!=10)printf(“%d\n”,x); return 0; } 程序运行时,输入的值在哪个范围才会有输出结果 A)不等于10的整数B)大于3且不等于10的整数 C)大于3或等于10的整数D)小于3的整数 18、设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是A)if(a>b)c=a,a=b,b=c; B)if(a>b){c=a,a=b,b=c;} C)if(a>b)c=a;a=b;b=c; D)if(a>b){c=a;a=b;b=c;} 19、以下程序段中,与语句:k= a>b ?(b>c?1:0):0;功能相同的是 A)if((a>b)&&(b>c))k=1; else k=0; B)if((a>b)||(b>c))k=1; else k=0; C)if(a<=b)k=0; else if(b<=c)k=1; D)if(a>b)k=1; else if(b>c)k=1; else k=0; 20、以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是 A)switch(a) {case 1:a=b;break; default: a++; } B)switch(a==1) {case 0:a=b;break; case 1:a++; } C)switch(a) {default: a++; break; case 1:a=b; } D)switch(a==1) {case 1:a=b;break; case 0:a++; } 21、if (a if(a else k=c; else if(b else k=c; 以下选项中与上述if语句等价的语句是 A)k=(a<b)?a:b;k=(b<c)?b:c; B)k=(a<b)?((b<c)?a:b):((b>c)?b:c); C)k=(a<b)?((a<c)?a:c):((b<c)?b:c); D)k=(a<b)?a:b;k=(a<c)?a:c; 22、以下叙述不正确的是(D) A.一个C源程序可由一个或多个函数组成 B.一个C源程序必须包含一个main函数 C.C程序的执行是从main函数开始的 D.在C程序中,注释说明只能位于一条语句的后面 23、结构化程序设计的3种结构是(D) A.顺序结构、选择结构、转移结构 B.分支结构、等价结构、循环结构 C.多分支结构、赋值结构、等价结构 D.顺序结构、选择结构、循环结构 24、(C)是不正确的字符常量。 A.'\n' B.'1' C."a" D.'\101' 25、下面四个选项中,均是合法转义字符的选项是(A)。 A.'\'' , '\\' , '\n' B.'\', '\017' , '\"' C.'\018' , '\f' , 'xab' D.'\\0', '\101' , 'xlf' 26、以下能正确定义整型变量x、y和z并为它们赋初值5的语句是( C ) A.int x=y=z=5; B.int x,y,z=5; C.int x=5,y=5,z=5; D.x=5,y=5,z=5; 27、(D)是合法的用户自定义标识符。 A.b-b C. D._isw 28、若int m=7,n=12,则能得到值为3的表达式是(D)。 A.n%=(m%=5) B.n%=(m-m%5) C.n%=m-m%5 D.(n%=m)-(m%=5) 29、以下所列的C语言常量中,错误的是(B )。 A.0xFF B. 1.2e0.5 C.2L D.'\72' 30、下列程序的输出结果是(C ) main( ) { int a=3,b=1; printf("%d\n",b=b/a); } A. 1 B.0.3333… C.0 D.不确定值 31、有以下程序 main() { int a=3, b=4; printf("%d\n", (a++)*(b++)); } 程序运行后的输出结果是 (A) A.12 B.15 C.16 D.20 32、已知x=3、y=2,则经过表达式x*=y+8计算后,x的值为( C ) A. 3 B. 2 C.30 D.10 33、设变量定义为“int a, b;”,执行下列语句时,输入(D),则a和b的值都是10。 int a , b; scanf("a=%d, b=%d",&a, &b); } A.10 10 B.10, 10 C.a=10 b=10 D.a=10, b=10 34、有以下程序: #include void main ( ) { int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a printf ("%d,%d\n",k,m); } 程序运行后的输出结果是( C )。 A.0,0 B.0,1 C.1,0 D.1,1 35、以下程序的输出结果为(C) main(){ int a=1,b=0; switch (a) { case 1: switch (b){ case 0: printf("**0**"); case 1: printf("**1**"); break; } case 2: printf("**2**"); break; } } A.**0** B.**0****2** C.**0****1****2** D.有语法错误 36、已知键盘输入a=4,b=3,下面程序输出的结果是(C). main() { int a,b,s; scanf("a=%d,b=%d",&a,&b); s=a; if(a s=b; s=s*s; printf("%d\n",s); } A.9 B.13 C.16 D.15 37、若运行时给变量x输入12,则以下程序的运行结果是(A) 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 38、选择正确答案:C (1)目标程序的内容不是二进制的,故不能运行 (2)目标程序的内容是机器指令,故运行程序实际上就是执行目标程序,然后由可执行文件输出结果 (3)可执行文件的内容是机器指令,在磁盘上,需装入内存才能运行。 (4)源程序、目标程序和可执行文件的内容都是二进制,故都可以运行。 39、通过执行scanf(“%d%d”,&a,&b);给变量a、b分别存入数据2和3,错误的输入格式 是:( (1)2 40、下面几组代码正确的是: 1) const int a; 2) const int a; a=1; 3)const int a=1;4)int const a=1; 41、在主函数中有如下程序段: int a,b; printf(”%d%d”,a,b); a=1; b=2; printf(”%d%d\n”,a,b); 运行两次,可能出现的结果是:b 358912 (2)1-212112 (3)0512 (4)-1132021 12 0012 012 0012 42、程序的运行结果不正确(输入没问题),下面几种说法中,最恰当的说法是:(1)是连接错误 (2)有语法错误 (3)程序有逻辑错误 (4)都有可能 43、以下四种说法中,最恰当的说法是: (1)连接错误,需要对程序进行调试 (2)编译错误,需要对程序进行调试 (3)运行结果错误,需要对程序进行调试 (4)都需要调试 44、在函数体中,关于数据定义语句和非数据定义语句(即执行语句)的位置,下面说 法正确的是: (1)C89标准:所有数据定义语句必须在任何非数据定义语句的前面 (2)C89标准:有些必须放在前面,有些可以放在后面 (3)C89标准:没有要求 (4)C99标准:所有数据定义语句必须在任何非数据定义语句的前面 三、判断(19题) 1、char a=?ch?;该语句正确()错 2、char ‘b’;该语句正确()错 3、#define P=3.14该语句正确()错 4、int a=b=c=3;写法正确()错 5、int a,b=6;运行后a和b的值都为6()错 6、2ab不是合法的标识符。(对) 7、一个算法可以没有输入,但是必须至少要有一个输出。对 8、判断一条语句是否结束的标志是分号; 对 9、在VC 6.0环境下一个char型的字符在内存中占1个字节,一个用#define定义的符号常 量在内存中所占的字节与其所包含的字符个数有关,如符号常量PI在内存中占2个字节。错 10、一个合法的C语言标识符只能由字母、数字和下划线组成,如,14student与_total 均是合法的标识符。错 11、所谓常量,就是在程序运行过程中其值可以改变的量。错 12、C语言源程序文件的扩展名均为.c。对 13、函数getchar()的作用是:输出一个字符。错 14、在c语言中,char型数据在内存中是以ASCII码形式存储的。对 15、一个C程序可以由多个源程序文件构成,但其中只能有一个main()函数。对 16、一个程序只能有一个源程序文件。(X) 17、C函数由函数首部(函数头)和函数体两部分组成。对 18、函数体由声明部分(含数据定义)和执行部分组成。对 19、C程序可以从任意函数开始执行。(X) 20、函数头(函数首部)后面应该有分号。错 21、程序从main函数开始执行,执行源文件最后一个函数后结束错 四、程序设计题(32题) 1、输入一个整数,输出它的绝对值 #include #include int main() { int a,b; scanf("%d",&a); b=fabs(a); printf("绝对值等于%d\n",b); return 0; } 2、输入两个整数,a,b 输出他们的绝对值中较大的一位 #include #include int main() { int a,b,c,d; scanf("%d %d",&a,&b); c=fabs(a); d=fabs(b); if(c>d) printf("%d\n",c); else printf("%d\n",d); return 0; } 3、输入一个大写字母,输出对应的小写字母 #include int main() { int a,b; scanf("%c",&a); b=a+32; printf("小写是%c\n",b); return 0; } 4、输入四个整数,输出他们的乘积 #include int main() { int a,b,c,d,h scanf("%d %d %d %d"&a,&b,&c,&d); h=a*b*c*d; printf("乘积等于%d\n"c); return 0; } 5、输入数字星期,输出汉字的星期。 6、输入两个整数和运算符号,输出相应的和差积商。 7、输入一个字符,输出它后面的第n个字符。 8、输入一个字符,判断它是大写字母(65--90)、小写字母(97--122)、数字(48--57) 还是其他字符() 9、输入一个不大于10000的数,输出它是几位数 10、输入一个数,判断它是否是水仙花数。 #include int main() { int S, a, b, c; scanf("%d",&S); a=S/100; b=S%100/10; c=S%10; if(a*a*a+b*b*b+c*c*c==S) printf("1"); else printf("0"); return 0; } 11、输入鸡和兔子的总头数和总脚数,输出鸡的总数和兔子数。 12、输入三个数,输出他们的总数及平均值。 #include int main() { int a,b,c,sum,p; scanf("%d %d %d",&a,&b,&c); sum=a+b+c; p=sum/3; printf("和是%d,平均值等于%d\n",sum,p); return 0; } 13、输入三角形的三边长,输出三角形的面积。 14、某商场进行促销活动, 当用户消费累计超过3000元,返回购物券500元; 超过2000元,返回300元; 超过1500元,返回200元; 超过1000元,返回100元; 请编写程序,输入用户的消费金额,输出应返回的数目 15、输入三个数abc,要求按由小到大的顺序输出 16、根据输入的考试成绩(百分制整数)打印出等级水平。(使用switch语句实现) 函数 -1 (x<0) y= 0 (x=0) 1 (x>0) 输入x的值,输出y的值 17、键盘输入10个整数,输出最大数。 18、为优待顾客,商店对购物额为1000元以上(含1000元,下同)者,八折优惠;500 元以上,1000元以下者,九折优惠;200元以上,500元以下者,九五折优惠;200元以下者,九七折优惠;100元以下者不优惠。由键盘输入一个购货款额,计算应收的款额。 #include int main() { int x; float y; scanf("%d",&x); if(x>=1000) y=x*(float)0.8; else if(x>=500) y=x*(float)0.9; else if(x>=200) y=x*(float)0.95; else if(x>=100) y=x*(float)0.98; else y=(float)x; printf("%f",y); return 0; 19、编程判断输入的整数是否既是5又是7的整数倍,若是输出yes,若不是输出no。 20、输入一个整数,判断该数是奇数还是偶数。 21、从键盘接收一个字符,如果是字母,输出其对应的ASCII码,如果是数字,按原 样输入,否则给出提示信息“输入错误!”。 22、输入一个字符,判断它是否是小写字母,是小写字母,则将它转换成大写字母,如 果不是,则不转换,然后输出所得到的字符。 23、求分段函数 的值,输入整数x值,输出结果。 24、. 从键盘上输入一个整数x,计算并输出下列分段函数y的值。 25、某运输公司运费计算时根据运输距离打折计算,折扣的计算方法如下: (其中,discount表示折扣,S表示运输距离)。 编写一完整程序,输入运输距离,统计运费并输出。每公里的运费通过符号常量 定义为2.5. 26、编程输入一元二次方程的三个系数,求解一元二次方程的实根,无实根 时不用求虚根,给出相应提示信息即可。 #include #include int main() { double a,b,c,disc,e,f,g,h; scanf("%lf %lf %lf",&a,&b,&c); disc=b*b-4*a*c; if(disc<0) printf("没有实根\n"); else { e=-b/(2.0*a); f=sqrt(disc)/(2.0*a); g=e+f; h=e-f; printf("x1=%7.2f\nx2=%7.2f\n",g,h); } return 0; } 27、给定三条边,判断其是否能构成三角形,若能构成,判断其是等腰三角 形、等边三角形、直角三角形还是普通三角形。 #include #include int main() { float a,b,c; scanf("%f %f %f",&a,&b,&c); if(a+b>c&&a+c>b&&b+c>a) { if(a==b&&b==c&&a==c) printf("等边三角形\n"); else if(a==b||b==c||c==a) printf("等腰三角形\n"); else if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b) printf("直角三角形\n"); else printf("普通三角形\n"); } else printf("不能构成三角形\n"); return 0; } 28、从键盘输入一个三角形的三条边,判断是否能组成三角形,若能组成三 角形,则输出它的面积。 #include #include int main() { float a,b,c,s,area; scanf("%f %f %f",&a,&b,&c); if(a+b>c&&a+c>b&&b+c>a) { s=(a+b+c)/2; area=(float)sqrt(s*(s-a)*(s-b)*(s-c)); printf("面积为%f\n",area); } else printf("不能构成三角形\n"); return 0; } 29、从键盘输入一个百分制的学生成绩,输出其对应的分数等级,其中90~ 100为A,80~89为B,70~79为C,60~69为D,60以下为E。 #include int main() { int a; scanf("%d",&a); if(a>=90&&a<=100) printf("A\n"); else if(a>=80&&a<90) printf("B\n"); else if(a>=70&&a<80) printf("C\n"); else if(a>=60&&a<70) printf("D\n"); else printf("E\n"); return 0; } 30、编写一个程序,从键盘输入三个整数给a,b,c,然后交换它们中的数, 把a中原来的值给b,把b中原来的值给c,把c中原来的值给a。 #include int main() { int a,b,c,f,e; scanf("%d %d %d",&a,&b,&c); f=b; e=c; b=a; c=f; a=e; printf("%d %d %d\n",a,b,c); return 0; } 31、输入一个字符,判断其是否为英文字母,若是英文字母,则将其大小写 进行转换,若不是英文字母,则不变。 #include int main() { char a; scanf("%c",&a); if(a>=65&&a<=90) printf("%c\n",a+32); else if(a>=97&&a<=122) printf("%c\n",a-32); else printf("%c\n",a); return 0; } 32、给定三个整数型x,y,z,输出三个数中的最大值和最小值。 #include int main() { int x,y,z,max,min; scanf("%d %d %d",&x,&y,&z); if(x>y) max=x; else min=x; if(max if(min>z) min=z; printf("最大值为:%d\n最小值为:%d\n",max,min); return 0; } C语言程序设计课程期末复习练习 一、单选题 1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。 A. main B. MAIN C. name D. function 2.每个C语言程序文件的编译错误分为()类。 A. 1 B. 2 C. 3 D. 4 3. 字符串"a+b=12\n"的长度为()。 A. 6 B. 7 C. 8 D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为()语句。 A. for B. if C. do D. while 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为()。 int i=0; do i++; while(i<10); A. 4 B. 3 C. 5 D. 10 6. 将两个字符串连接起来组成一个字符串时,选用的函数为()。 A. strlen() B. strcap() C. strcat() D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是()。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数 8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( )个字节。 A. 4 B. 8 C. 16 D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。 A. char *p=s; B. char *p=&s; C. char *p;p=*s; D. char *p; p=&s; 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为()。 A. gets() B. fgets() C. getc() D. fgetc() 11. 由C语言目标文件连接而成的可执行文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. c 12. 设有两条语句为“int a=12; a+=a*a;”,则执行结束后,a的值为( )。 A. 12 B. 144 C. 156 D. 288 13. 带有随机函数调用的表达式rand()%20的值在( )区间内。 A. 1~19 B. 1~20 C. 0~19 D. 0~20 14. for循环语句“for(i=0; i C语言模拟试题 一、判断 1、关系运算符<= =与= =的优先级相同。(N ) 2、C语言的函数可以嵌套定义。(N ) 3、若有定义和语句:int a;char c;float f;scanf(“%d,%c,%f”,&a,&c,&f);若通过键盘输入:10,A,12.5, 则a=10,c=?A?,f=12.5.( Y ) 4、变量根据其作用域的范围可以分作局部变量和全局变量。( Y ) 5、#define和printf都不是C语句。( Y ) 6、Int I,*p=&I;是正确的C说明。( Y ) 7、结构体类型只有一种。( N ) 8、在Turbo C中,整形数据在内存中占2个字节。( N ) 9、一个include命令可以指定多个被包含的文件。( N ) 10、有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是*(p+8).( Y ) 二、选择 2、C语言中,char类型数据占(A) A、1个字节 B、2个字节 C、4个字节 D、8个字节 3、已知x=43,ch=?A?,y=o;则表达式(x>=y&&ch1;i--) for(j=1;j 黄淮学院计算机科学系2007-2008学年度第一学期 期末考试《程序设计基础》B 卷 注意事项:本试卷适用于计科系06级本科计算机科学与技术专业学生。 1.__ ____函数是程序启动时惟一的入口。 2.算法的复杂性包含两方面: 和 。 3.已知 char c= 'a' ; int x=2,k; 执行语句k=c&&x++ ; 则x 为 ,k 为 。 4.数值0x34对应的十进制为 。 5.已知int a ; 则表达式”(a=2*3 , 3*8), a*10”的结果为_ _ ____,变量a 的值为___ ___。 6.面向对象程序开发步骤为: 、 和面向对象实现。 1.下列程序设计语言中( )是面向对象语言。 A. FORTRAN B. C 语言 C. C++ D. 汇编语言 2.下列关于注释的说法哪个是错误的( )。 A. 注释不是程序中的可执行语句 B. 注释对于程序的执行有很重要的意义 C. 注释将在程序的编译阶段被编译器剔除 D. 编程时在程序中添加适当的注释是一个良好的编程风格 3.算法设计应该遵守( )的设计原则。 A. 自底向上,逐步求精 B. 自顶向下,逐步求精 C. 自底向上,同步扩展 D. 自顶向下,同步扩展 4.下列语句执行后a 的值为( )。 int a=4, &z=a, k=3; a=k; z+=2; k++; A. 0 B. 4 C. 1 D. 5 5.以下程序执行后,屏幕输出为( )。 #include “iostream.h ” void fun(int d) {d++;} void main() { int d=3; fun(d); d++; cout< ================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=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 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B 能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: 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() { int i=0; 精选考试类文档,如果您需要使用本文档,请点击下载! 祝同学们考得一个好成绩,心想事成,万事如意! 大学C语言考试试题及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a 一、单项选择题:(10分,每题2分) 1.char*p[10];该语句声明了一个:。 A)指向含有10个元素的一维字符型数组的指针变量p B)指向长度不超过10的字符串的指针变量p C)有10个元素的指针数组p,每个元素可以指向一个字符串 D)有10个元素的指针数组p,每个元素存放一个字符串 2.若intx;且有下面的程序片断,则输出结果为:。 for(x=3;x<6;x++) { printf((x%2)"##%d":"**%d\n",x); } A) ##3B)**3 C)**3D)##3**4 **4##4##4**5##5 ##5**5 3.在while(!x)语句中的!x与下面条件表达式等价的是:。 A)x!=0B)x==1 C)x!=1D)x==0 4.已知 structpoint { intx; inty; }; structrect { structpointpt1; structpointpt2; }; structrectrt; structrect*rp=&rt; 则下面哪一种引用是不正确的________。 A) r t.pt1.xB) (*rp).pt1.xC) rp->pt1.x D)rt->pt1.x 5.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为:。 A)*(a+j*n+i)B)*(a+i*n+j)C)*(*(a+i)+j)D)*(*a+i) +j CDDDC 二、分析程序并写出运行结果。(25分,每题5分) 1.#include {intn; staticchar*monthName[]= {"Illegalmonth","January","February", "March","April","May","June","July","August", "September","October","November","December"}; for(n=1;n<=12;n++) { printf("%s\n",monthName[n]); } } 运行结果是: January February March April May June July August September October November December 2.#include 练习题一Visual FoxPro 基础 、选择题 1. 关系数据库管理系统应能实现的专门关系运算包括___c __________ A 显示、打印、制表B关联、更新、排序 C 选择、投影、连接D排序、索引、统计 2. 关系是指__b__。 A 属性的集合B元组的集合 C 实例的集合 D 字段的集合 3. 如果把学生看成实体,某个学生的姓名叫“杨波”,则“杨波”应看成是___b ______ 。 A)属性型B )属性值C )记录型D )记录值 4. 关系数据库系统中所使用的数据结构是 _______ d ___ 。 A)图B )树C )表格D )二维表 5. 对表进行水平方向的分割用的运算是 _______ b ___ 。 A)交B )选择C )投影D )连接 6. 下列数据库技术的术语与关系模型的术语的对应关系中_______ d _____ 是正确的。 A)实例与关系 B )字段与元组C )记录与属性 D )记录类型与关系模式 7. 下列关于数据库系统的叙述中,正确的是 _____ c _____ 。 A)数据库系统中数据的一致性是指数据类型一致 B)数据库系统只是比文件系统管理的数据更多 C)数据库系统减少了数据冗余 D数据库系统避免了数据冗余 8. 关系数据模型 ______ d ___ 。 A)只能表示实体间的1:1联系 B)只能表示实体间的1:n C只能表示实体间的m:n D 可以表示实体间的上述三种联系 9. 在一个关系中如果有这样一个属性存在,它的值能惟一地标识关系中的每一个元组,称 这个属性为 _____ a____ 。 A)关键字B )主属性C )数据项D )主属性值 10. 关系数据库管理系统中的元组是______ b ____ 。 A)关系中的垂直方向的列 B )关系中的水平方向的行 C属性或属性的组合 D )以上的答案均不正确 11. 从数据库的整体结构看,数据库系统采用的数据模型有_________ a __ 。 A)层次模型、网状模型和关系模型 B)层次模型、网状模型和环状模型 C)网状模型、链状模型和层次模型 D链状模型、关系模型和层次模型 12. 设有属性A B、C D以下表示中不是关系的是___________ d__。 A)R( A) B )R( A, B)C )R (A, B, C, D) D )R (A X B X C X D) 13. 若实体间联系是M N的,则将联系类型_________ a___ 。 A)也转换为关系模型 B)属性加入任一个关系模式中 C)属性加入N端实体类型相应的关系模式中 D)属性加入M端实体类型相应的关系模式中 14. 数据库系统的构成为数据库、计算机硬件系统、用户和________ a ____ 。 A 数据库管理系统 B 操作系统 C 数据集合 D 文件系统 15. 层次型、网状型和关系型数据库划分原则是________ c ___ 。 A 文件大小 B 记录长度 C 数据之间的联系 D 联系的复杂程度 16. 在数据库设计中用关系模型来表示实体和实体之间的联系,关系模型的结构是 _____ d ___ 。 A 封装结构 B 层次结构 C 网状结构 D 二维表结构 17. 在关系模型中,实现“关系中不允许出现相同的元组”的约束是通过__a ________ 。 A 主键 B 超键 C 外键 D 候选键 18. 层次模型不能直接表示 ______ b __ 关系。 A 1:1 B m:n C 1:m D 1:1 和1:m 19. DBAS旨的是_____ d____ 。 《程序设计基础》考试试卷二 1.1966年,Bohra和Jacopini提出的三种基本程序设计结构是:________ A.if、while和for; B. switch、do-while和for; C.while、do-while和for; D.顺序结构、分支结构和循环结构。 2.算法的特征不包括:______。 A.有穷性 B.可行性 C.确定性 D.有1个或者多个输入。 3.C语言源程序的基本组成单位是______。 A.函数 B. 语句 C. 声明和语句 D. 文件 4.下列标识符中,只有______是合法的。 A.if B. 3ab C. Int D. A-4 5.下列常量中,只有______是合法的。 A.3e-0.3 B. ‘abc’ C. 02a1 D. ‘\377’ 6.下列说法中正确的是:______。 A.C语言中的for语句的三个表达式都可以省略,而且分号也可以省略。 B.宏替换比函数调用的执行速度慢。 C.实质上,C语言中的指针就是一个变量的地址。 D.C语言中的任何函数都可以由程序员命名。 7.C语言中,运算对象必须是整型的运算符是_______。 A./ B. % C. + D. - 8.以下叙述中错误的是_______。 A.C语句必须以分号结束 B.复合语句在语法上被看作一条语句 C.空语句出现在任何位置都不会影响程序运行 D.赋值表达式末尾加分号就构成赋值语句 9.以下叙述中正确的是_______。 A.调用printf函数时,必须要有输出项 B.使用putchar函数时,必须在之前包含头文件stdio.h C.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出 D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码10.以下关于函数的叙述中正确的是_______。 A.每个函数都可以被其它函数调用(包括main函数) B.每个函数都可以被单独编译 C.每个函数都可以单独运行 D.在一个函数内部可以定义另一个函数 11.有以下程序段typedef struct NODE{ int num; struct NODE *next; 三、判断题(10道小题,共10分) 1、C 语言具有简洁明了的特点。(1分) 正确 2、预处理命令的前面必须加一个“#”号。(1分) 正确 3、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。(1分) 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。(1 分) 正确 5、continue 不是结束本次循环,而是终止整个循环的执行。(1分) 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数(1分) 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递(1分) 正确 8、直接访问就是直接利用变量的地址进行存取直接访问(1分) 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。(1分) 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。(1分) 错误 11、C 语言标准格式输入函数scanf() 的参数表中要使用变量的地址值。(1分) 正确 12、浮点型常量的指数表示中,e 是可以省略的。(1分) 错误 13、任何表达式语句都是表达式加分号组成的。(1分) 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。(1分) 错误 15、do-while循环的while后的分号可以省略。(1分) 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。正确 17、C语言函数返回类型的默认定义类型是void(1分) 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数(1分) 正确 19、枚举类型中的元素都具有一个整型值。(1分) 正确 20、C 语言是一种具有某些低级语言特征的高级语言。(1分) 正确 21、case语句后如没有break,顺序向下执行。(1分)正确 C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #include a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include 程序设计基础C-题库 1、计算机语言按照高低级别可分为机器语言、 、 三大类。 答案: 汇编语言 ; 高级语言 ; 2、C语言中源文件的后缀名为 。 答案: *.c;.c ; 解析: 3、在程序中,如果使用printf()函数,应该包含 头文件。 答案: stdio.h ; 解析: 4、在main()函数中,用于返回函数执行结果的是 语句。 答案: return ; 5、C语言程序在Windows平台下经过编译、连接后生成的可执行文件后缀是 。答案: .exe ; 6、C语言并不属于高级语言。 答案:错误 7、计算机语言(Computer Language)是人与计算机之间通信的语言。 答案:正确 8、C语言并不能实现汇编语言的大部分功能。 答案:错误 9、Eclipse工具和Visual Studio工具都可以开发C语言。 答案:正确 10、C语言是UNIX和其衍生版本的主要开发语言。 答案:正确 11、请简述printf()函数的作用。 答案: printf()printf()“Hello, world\n”“\n” 12、请简述C语言中main()函数的作用。 答案: main函数是C程序的入口函数,即程序的执行是从main函数开始 解析: 13、使用DEV-C++开发工具编写一个控制台程序,要求在控制台上输出一句话:“我喜欢C语言”。 答案输入: #include return 0; } 答案输出: C 14、C语言属于下列哪类计算机语言? A、汇编语言 B、高级语言 C、机器语言 D、以上均不是 答案:B 15、下列关于主函数说法错误的是( ) A、一个C程序中只能包含一个主函数 B、主函数是C程序的入口 C、C程序中可以包含多个主函数 D、主函数只能包含输出语句 答案:CD 16、下列选项中,不属于C语言优点的是 A、不依赖计算机硬件 B、简洁、高效 C、可移植 D、面向对象 答案:D 17、下列选项中,哪一个是多行注释? A、// B、/**/ C、\\ D、以上均不属于 答案:B 18、C语言是一种()的编程语言 A、面向对象 B、面向过程 C、可视化 D、组件导向 答案:B 《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关 C语言 一、选择题(第题2分,共20分) 1.一个C程序的执行是从 A 。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double 5. putchar函数可以向终端输出一个 D 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 7.判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。 if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 9.以下程序段______C__. x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 10.以下正确的描述是___B____. A)continue语句的作用是结束整个循环的执行 学院领导 审批并签名 A / B卷 广州大学 学年第学期考试卷 课程高级语言程序设计考试形式(开/闭卷,考试/查)学院系专业班级学号姓名 分数 评分 一:选择题(每题3分,共60分) (1)若有以下定义: char a; int b; float c; double d; 则表达式a*b+d-c值的类型为(A) A) double B) float C) int D) char (2)设a=1,b=2,c=3,d=4,则表达式:a=10 or a<=0 B)a>=10│a<=0 C)a>=10││a<=0 D)a>=10 ││ a<=0 (7)下列可 作为C语言赋值语句的是(C) A) x=3,y=5 B) a=b=6 C) i--; D) y=int(x); (8)设i是int型变量,f是float型变量,用下面的语句给这两个变量输 入值: scanf(i=%d,f=%f,&i,&f); 为了把100和765.12分别赋给i和f,则正确的输入为(A) A) 100765.12 B) i=100,f=765.12 C) 100765.12 D) x=100y=765.12 (9)给出以下定义: char x[ ]=abcdefg; C语言试题库 一、单项选择 第一章 C语言概述 (1)一个C程序的执行是从 A、本程序的MAIN函数开始,到MAIN 函数结束。 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C、本程序的MAIN函数开始,到本程序的最后一个函数结束。 D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。(2)以下叙述正确的是 A、在C程序中,MAIN函数必须位于程序的最前面。 B、 C程序的每行中只能写一条语句。 C、 C语言本身没有输入输出语句。 D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(3) C语言规定,在一个源程序中,MAIN主函数的位置是在: A、必须在最前面。 B、必须在系统调用的库函数的后面 C、可以在任意位置。 D、必须在最后面 (4)一个C程序是由: A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 (5)以下叙述不正确的是: A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个MAIN函数 C、 C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 第二章数据类型、运算符与表达式 (1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32) A、4 B、16 C、32 D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、define , IF, type B、getc, char, printf C、include, scanf, case E、 if, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,do B、float,1a0, _A C、b-a, goto, int D、_123, temp, INT (4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3 B、3*a*e/bc C、3*a*e/b*c D、a*e/c/b*3 (5)已知各变量的类型说明如下: 一、单项选择题(每小题2分,共50分) 1、一个C程序的执行是从___A__。 A、本程序的main函数开始,到main函数结束 B、本程序的main函数开始,到本程序文件的最后一个函数结束 C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 2、C语言程序的基本单位是___C___。 A、程序行 B、语句 C、函数 D、字符 3、请选出可用作C语言用户标识符的一组标识符___B___。 A、void B、a3_b3 C、For D、2a define_123-abcDO WORDIFasesizeof 4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是__C__。 A、、4 C、、 5、下列可以正确表示字符型常量的是___D__。 A、297 B、"a" C、"\n" D、'\t' 6、在C语言中,要求运算数必须是整型的运算符是__D__。 A、/ B、++ C、*= D、% 7、C语言中,复合语句的构成是将一系列语句置于__C__。 A、begin与end之间 B、方框号“[]”之间 C、花括号“{}”之间 D、圆括号“()”之间 8、有如下程序段,对应正确的数据输入是___A___。 floatx,y; scanf(”%f%f”,&x,&y); printf(”a=%f,b=%f”,x,y); A、<回车> B、,<回车> <回车> C、A=,B=<回车> D、回车> 9、以下程序段的输出结果是___D__。 inta=5678; printf(”%2d\n”,a); A、提示出错、无结果 B、56 C、78 D、5678 10、已知:charch='A';则下列表达式的值是__B__。 ch=(ch>='A'&&ch<='Z')?(ch+32):ch; A、A B、a C、Z D、z 选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); } A d=70 B d=80 C d=140 D d=700 10.已知职工记录描述如下,在Turbo C中,系统为变量w分配()字节的空间。 struct worker { int no; char name[20]; char sex; union { int day; int month; int year;}birth; } w; A 29 B 20 C 25 D 6 11.设有以下定义,值为5的枚举常量是()。 enum week{sun,mon=4,tue,wed,thu,fri,sat} w; A tue B sat C fri D thu 12.下面选项中正确的赋值语句是(设char a[5],*p=a;)()。 A p="abcd"; B a="abcd"; C *p="abcd"; D *a="abcd"; 13.设有以下程序段,则值为6的表达式是()。 struct st { int n; struct st *next;}; static struct st a[3]={5,&a[1],7,&a[2],9,0 },*p; p=&a[0]; A p++->n B ++p->n C p->n++ D (*p).n++ 写出下列程序的运行结果(10分,每小题2分) 1.float average (float array[10]) { int i;2019年电大C语言考试题库(c语言小题+编程)
大学C语言考试试题
《程序设计基础》试卷B及答案
大学c语言考试题库含答案
大学C语言考试试题及答案
C语言考试题及答案
程序设计基础试题库
程序设计基础试题和答案解析二
(完整版)C语言考试题库之判断题(2)
C语言考试题库及答案复习整理
程序设计基础C-题库-1
c语言期中考试试题及答案
(完整版)C语言试题及答案解析
程序设计基础试题_03_答案.doc
C语言试题库(完整版)
大一c语言考试试题
(完整版)c语言期末考试题及其答案