C语言练习题---第三章
1、有以下程序
#include<stdio.h>
main()
{short c=124;
c=c_______;
printf(“%d\n”,C);
}
若要使程序的运行结果为248,应在下划线处填入的是
A)>>2 B)|248 C)&0248 D)<<1
2、以下程序运行后的输出结果是2008。
#include<stdio.h>
main()
{int a=200,b=010;
printf(”%d%d\n”,a,b);
}
3、有以下程序
#include<stdio.h>
main()
{int x,y;
Scanf(“%2d%ld”,&x,&y);printf(“%d\n”,x+y);
}
程序运行时输入:1234567程序的运行结果是34579。
4、有以下程序
#include
Void 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);
}
当执行程序时,按下列方式输入数据(从第一列开始,
12
34
则输出结果是:()
A、1234
B、12
C、12
D、12
3 34
5、有以下程序,其中k的初值为八进制数
#include
main()
{int k=011;
printf(”%d\n”,k++);
}
程序运行后的输出结果是D
(A)12 (B)11 (C)10 (D)9
6、有以下程序(暂不做)
#include
void fun (char*c,int d)
{*c=*c+1;d=d+1;
printf(”%c,%c,”,*c,d);
}
main()
{char b=’a’,a=’A’;
fun(&b,a); printf(”%c,%c\n”,b,a);
}
程序运行后的输出结果是A
A)b,B,b,A B)b,B,B,A C)a,B,B,a D)a,B,a,B
7、以下程序
#include
#define SUB(a) (a)-(a)
main()
{int a=2,b=3,c=5,d;
d=SUB(a+b)*c;
printf(”%d\n”,d);
}
程序运行后的结果是C
A)0 B)-12 C)-20 D)10
8、有以下程序
#include
main()
{int a=2,b=2,c=2;
printf(”%d\n”,a/b&c);
}
程序运行后的结果是C
A)0 B)1 C)2 D)3
9、将值为三位正整数的变量x中的数值按照个位、十位、百位的顺序拆分并输出。(暂不做)
10、阅读以下程序
#include
main()
{ int case; float printF;
printf(“请输入2个数:”);
scanf(“%d %f”,&case,&printF);
printf(“%d %f\n”,case,printF);
}
该程序编译时产生错误,其出错原因是
A)定义语句出错,case是关键字,不能用作用户自定义标识符
B)定义语句出错,printF不能用作用户自定义标识符
C)定义语句无错,scanf不能作为输入函数使用
D)定义语句无错,printf不能输出case的值
11、有以下程序
#include
main()
{ int a=1,b=0;
printf("%d,",b=a+b);
printf("%d\n",a=2*b);
} 程序运行后的输出结果是
A)0,0
B)1,0
C)3,2
D)1,2
12、有以下程序
#include
main()
{ char c1,c2;
c1='A'+'8'-'4';
c2='A'+'8'-'5';
printf("%c,%d\n",c1,c2);
}已知字母A的ASCII码为65,程序运行后的输出结果是
A)E,68
B)D,69
C)E,D
D)输出无定值
13、若有以下程序段
int r=8;
printf(“%d\n”,r>>1);
输出结果是
A)16
B)8
C)4
D)2
15、若有语句double x=17;int y;,当执行y=(int)(x/5)%2;之后y的值为(1)
16、以下程序运行后的输出结果是 10 。
#include
main()
{ int x=20;
printf("%d",0 printf("%d\n",0 17、程序段:int x=12; double y=3.141593; printf(“%d%8.6f”,x,y);的输出结果是 A)123.141593 B)12 3.141593 C)12,3.141593 D)123.141593 18、#include main() { int a1,a2;char c1,c2; scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2); printf(“%d,%c,%d,%c”,a1,c1,a2,c2); } 若想通过键盘输入,使得a1的值为12,a2的是为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b,则正确的输入格式是(以下代表空格, A)12a34b C)12,a,34,b 19、有以下程序 #include #define PT 3.5; #define S(x) PT*x*x; mian() { int a=1, b=2; printf(“%4.1f\n”,S(a+b));} 程序运行后输出的结果是 A)14.0 B)31.5 C)7.5 D)程序有错无输出结果 20、有以下程序 #include main() { int a=5,b=1,t; t=(a<<2|b); printf(“%d\n”,t); } 程序运行后的输出结果是 A)21 B)11 C)6 D)1 21若变量x、y已定义为int类型且x的值为99,y的值为9,请将输出语句printf (“x/y=%d”,x/y);补充完整,使其输出的计算结果形式为:x/y=11 22、有以下程序 #include main(){ char c1,c2; scanf("%c",&c1); while(c1<65||c1>90) scanf("%c",&c1); c2=c1+32; printf("%c,%c\n",c1,c2); }程序运行输入65回车后,能否输出结果、结束运行(请回答能或不能) 23、以下选项中可作为C语言合法常量的是()。 A)-80.B)-080 C)-8e1.0 D)-80.0e 24、以下不能定义为用户标识符的是()。 A)Main B)_0 C)_int D)sizeof 25、以下选项中,不能作为合法常量的是()。 A)1.234e04 B)1.234e0.4C)1.234e+4 D)1.234e0 26数字字符0的ASCII值为48,若有以下程序: main() { char a='1',b='2'; printf("%c,",b++); printf("%d\n",b-a); } 程序运行后的输出结果是()。 A)3,2 B)50,2 C)2,2D)2,50 27、有以下程序: #include main() { int m=12,n=34; printf("%d%d",m++,++n); printf("%d%d\n",n++,++m); } 程序运行后的输出结果是()。 A)12353514B)12353513 C)12343514 D)12343513 28、有定义语句:int b;char c[10]; , 则正确的输入语句是()。 A)scanf("%d%s",&b,&c); B)scanf("%d%s",&b,c); C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c); 29、有以下程序: main() { int m,n,p; scanf("m=%dn=%dp=%d",&m,&n,&p); printf("%d%d%d\n",m,n,p); } 若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是 A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 789 30、有以下程序: #include main() { int a,b,d=25; a=d/10%9; b=a&&(-1); printf("%d,%d\n",a,b); } 程序运行后的输出结果是()。 A)6,1 B)2,1C)6,0 D)2,0 31、有以下程序: main() { int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k); } 程序运行后的输出结果是()。 A)1 2 3 B)2 3 4 C)2 2 3 D)2 3 3 32、以下程序: #define P 3 #define F(int x) {return(P*x*x);} main() { printf("%d\n",F(3+5)); } 程序运行后的输出结果是()。 A)192 B)29 C)25 D)编译出错 33、有以下程序: main() { int c=35; printf("%d\n",c&c); } 程序运行后的输出结果是()。 A)0 B)70 C)35D)1 34、以下程序运行时若从键盘输入:10 20 30<回车>,则输出结果是10030 。 #include main() { int i=0,j=0,k=0; scanf("%d%*d%d",&i,&j,&k); printf("%d%d%d\n",i,j,k); } 35、以下程序运行后的输出结果是81 。 #include #define S(x) 4*x*x+1 main() { int i=6,j=8; printf("%d\n",S(i+j)); } 36、以下程序运行后的输出结果是353。 main() { int a=3,b=4,c=5,t=99; if(a if(a printf("%d%d%d\n",a,b,c); } 37、以下程序运行后的输出结果是10 20 0 。 #include main() { int a,b,c; a=10;b=20;c=(a%b<1)||(a/b>1); printf("%d %d %d\n",a,b,c); } 39、以下选项中正确的定义语句是()。 A)double a; b; B)double a=b=7; C)double a=7, b=7; D)double, a, b; 40、以下不能正确表示代数式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 41、若变量已正确定义为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<回车> 43、有以下程序 #include main() { char a=4; printf("%d\n", a=a<<1); } 程序的运行结果是()。 A)40 B)16 C)8 D)4 44、设变量已正确定义并赋值,以下正确的表达式是 A)x=y*5=x+z B)int(x=15.8%5) C)x=y+z+5,++y D)x=25%5.0 46、有以下程序段 char ch; int k; ch='a'; k=12; printf("%c,%d,",ch,ch,k); printf("k=%d\n",k); 已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是 A)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值 C)a,97,12k=12 D)a,97,k=12 47、已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是 A)kk>='A'&&kk<='Z' B)!(kk>='A'‖kk<='Z') C)(kk+32)>='a'&&(kk+32)<='z' D)isalpha(kk)&&(kk<91) 48、当变量c的值不为2、4、6时,值也为“真”的表达式是 A)(c==2)‖(c==4)‖(c==6) B)(c>=2&&c<=6)‖(c!=3)‖(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1) 49、变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是 A)a^b B)a|b C)a&b D)a<<4 50、若有定义语句:int a=10;double b=3.14;,则表达式‘A’+a+b值的类型是()。 A)char B)int C)double D)float 51、若有定义语句:int x=12,y=8,z;,在其后执行语句z=0.9+x/y;,则Z的值为()。 A)1.9 B)1 C)2 D)2.4 52、若有定义:int a,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是()。 A)3 5 B)3,5 C)3;5 D)35 53、若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>>k2)&&(k2=k2>>k1)后,k1和k2的值分别为()。 A)0和1 B)0和20 C)10和1 D)10和20 54、以下不能输出字符A的语句是(注:字符A的ASCIl码值为65,字符a的ASCIl码值为97) A)printf(“%c\n”,‘a’-32); B)printf(“%d\n”,‘A’); c)printf(“%c\n”,65); D)printf(“%c\n”,‘B’-1); 55、若程序中已给整型变量a和b赋值10和20,请写出按以下格式输出a、b值的语句printf(“****a=%d.b=%d****”,a,b); ****a=10.b=20**** 56、定义无符号整数类为UInt,下面可以作为类UInt实例化值的是 A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5} 57、计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是 A)C语言程序仅可以编译执行 B)C语言程序仅可以解释执行 C)C语言程序既可以编译执行又可以解释执行 D)以上说法都不对 58、以下选项中不能用作C程序合法常量的是 A)1,234 B)‘123’ C)123 D)“\x7G” 59、以下选项中可用作C程序合法实数的是 A).1e0 B)3.0e0.2 C)E9 D)9.12E 60、若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是 A)a=(b=4)=3; B)a=b=c+1; C)a=(b=4)+c; D)a=1+(b=c=4); 61、有以下程序 #include main() { int x=011; printf(“%d\n”,++x); } 程序运行后的输出结果是 A)12 B)11 C)10 D)9 62、有以下程序 #include #define S(x) 4*(x)*x+1 main() { int k=5,j=2; printf("%d\n",S(k+j)); }程序运行后的输出结果是 A)197 B)143 C)33 D)28 63、有以下程序 #include main() { unsigned char a=8,c; c=a>>3; printf(“%d\n”,c); } 程序运行后的输出结果是 A)32 B)16 C)1 D)0 64、以下程序运行后的输出结果是 3 。 #include main() { int a; a=(int)((double)(3/2)+0.5+(int)1.99*2); printf(“%d\n”,a); } 65有以下程序(说明:字符0的ASCII码值为48) #include main() { char c1,c2; scanf("%d",&c1); c2=c1+9; printf("%c%c\n",c1,c2); }若程序运行时从键盘输入48(回车),则输出结果为09。 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 。 第0章习题 1. 将下列十进制数分别转化为二进制数、八进制数和十六进制数: (1)128 (2)511 (3)1024 (4)65535 (5)1048575 答: (1)10000000、200、80 (2)111111111、777、1FF (3)10000000000、2000、400 (4)1111111111111111、177777、FFFF (5)11111111111111111111、3777777、FFFFF 2. 将下列二进制数转化为十进制数和十六进制数: (1)1100110101B (2)101101.1011B 答: (1)821、335 (2)45.6875、2D.B 3. 写出下列数的原码、反码、补码:15、-20、-27/32 答: (1)00001111、00000000、00001111 (2)10010100、11101011、11101100 (3)1.1101100、1.0010011、1.0010100 4. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少? 答: 0~65535、-128~127、-32768~32767 5.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。 答: 结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。 如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么? 答: C语言复习题1 一、选择题 1.C语言提供的合法的数据类型关键字是(B)。 (A)Double (B)short (C)integer (D)Char 2.在C语言中,合法的长整型常数是(A )。 (A)0L (B)4962710 (C)0.054838743 (D)2.1869e10 3.若有说明和语句: int a=5; a++; 此处表达式a++的值是( C)。 (A)7 (B)6 (C)5 (D)4 4.C语言中最简单的数据类型包括(B )。 (A)整型、实型、逻辑型 (B)整型、实型、字符型 (C)整型、字符型、逻辑型 (D)整型、实型、逻辑型、字符型 5.以下说法中正确的是( C)。 (A)C语言程序总是从第一个定义的函数开始执行 (B)在C语言程序中,要调用的函数必须在main()函数中定义 (C)C语言程序总是从main()函数开始执行 (D)C语言程序中的main()函数必须放在程序的开始部分 6.在C语言中,要求运算数必须是整型的运算符是( A )。 (A) % (B) / (C) < (D) ! 7.以下有4个用户标识符,其中合法的一个是(C )。 (A) for (B) 4d (C) f2_G3 (D) short 8.假定x和y为double型,则表达式x=2,y=x+3/2的值是( D )。 (A) 3.500000 (B) 3 (C) 2.000000 (D) 3.000000 9.下面程序的输出是( C )。 (A) 0 (B) 1 (C) 3 (D) 不确定的值 main() { int x=10,y=3; printf("%d\n",y=x/y);} 10.执行下面程序中输出语句后,a的值是( C )。 (A) 65 (B) 20 (C) 15 (D) 10 main() {int a; printf("%d\n",(a=3*5,a*4,a+5));} 11.C语言提供的合法的关键字是( D )。 (A)Switch (B)cher (C)Case (D)default 12.在C语言中,合法的字符常量是( B )。 (A)'\084' (B)'\x43' (C)'ab' (D)"\0" 13.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是( C )。 (A)1 (B)2 (C)2.0 (D)2.5 14.以下叙述中错误的是( B )。 (A)算法正确的程序最终一定会结束 (B)算法正确的程序可以有零个输出 (C)算法正确的程序可以有零个输入 ================================================== 题号: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、有以下程序 #include<stdio.h> main() {short c=124; c=c_______; printf(“%d\n”,C); } 若要使程序的运行结果为248,应在下划线处填入的是 A)>>2 B)|248 C)&0248 D)<<1 2、以下程序运行后的输出结果是2008。 #include<stdio.h> main() {int a=200,b=010; printf(”%d%d\n”,a,b); } 3、有以下程序 #include<stdio.h> main() {int x,y; Scanf(“%2d%ld”,&x,&y);printf(“%d\n”,x+y); } 程序运行时输入:程序的运行结果是34579。 4、有以下程序 #include 34 C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #include a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include C语言习题集 习题一 一.填空题 1.C程序是由(函数)构成的,一个C程序中至少包含(main函数)。因此,( 函数) 是C程序的基本单位。 2.C程序注释是由( /*) 和( */ ) 所界定的文字信息组成的。3.函数体一般包括( 变量声明) 和( 语句) 。 二.判断题 1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。【错】 2.main函数必须写在一个C程序的最前面。【错】 3.一个C程序可以包含若干的函数。【对】 4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。但是可以增加程序的可读性。【对】 5.C程序的注释只能是一行。【错】 6.C程序的注释不能是中文文字信息。【错】 8.可以使用Visual C++ 6.来编译和连接一个C程序。【对】 9.可以使用Visual C++ 6.来运行一个C程序。【对】 10.可以使用Visual C++ 6.来实时调试(即动态调试)一个C程序。【对】三.简答题 1.写出一个C程序的基本结构。 2.简要叙述使用Visual C++ 6.0编译和运行一个程序的步骤。 四.编程题 1.提高题:参照课本例1.1,试编写一个C程序,输出如下信息。(提示:使用键盘上的一些符号)。 2.提高题:试编写一个C程序,输出如下信息。 ********************** *** @ @ *** *** @ *** ********************** 试试看,可以输出其他组合图案吗? 习题二 一.选择题 1、合法的字符常量是(ACD)。 A)…\t?B) “A” C)…a?D)?\x32? 2、合法的字符常量是( D) 。 A)…\084?B) …\84? C)…ab?D)?\x43? 3、(B)是C语言提供的合法的数据类型关键字。 A)Float B)signed C)integer D)Char 4、在以下各组标识符中,合法的标识符是((4))。 (1)A)B01 B)table_1 C)0_t D)k% (2)A)Fast_ B)void C)pbl D) 练习3-1答案 一、选择题 1.在C语言库函数中,可以输出double型变量x值的函数是( D )。 A.getchar B.scanf C.putchar D.printf 2.执行语句:printf("The program\'s name is c:\\tools\book.txt");后输出是( D )。 A.The program's name is c:tools book.txt B.The program's name is c:\tools book.txt C.The program's name is c:\\tools book.txt D.The program's name is c:\toolook.txt 3.以下程序的输出结果是( D )。(注:□表示空格) main() {printf("\n*s1=%15s*", "chinabeijing"); printf("\n*s2=%-5s*", "chi"); } A.*s1=chinabeijing□□□* B.*s1=chinabeijing□□□*s2=**chi* *s2=chi□□* C.*s1=*□□chinabeijing* D.*s1=□□□chinabeijing* *s2=□□chi* *s2=chi□□* 4.选择程序的运行结果,①是( B )、②是( B )、③是( D )、④是( C )。 #include 第一章 C语言概述 一、选择题: 1、一个C程序的执行是从( A )。 A本程序的main函数开始,到main函数结束 B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C本程序的main函数开始,到本程序文件的最后一个函数结束 D本程序文件的第一个函数开始,到本程序main函数结束 [ 2、在 C 语言中,每个语句必须以( D )结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 3、C 语言规定:在一个源程序中,main函数的位置( C )。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 4、一个C 语言程序是由( B )。 ~ A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成 5、下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 》 6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D. 自动保存源文件 二、填空题: 1、C 语言只有 32 个关键字和 9 种控制语句。 ~ 2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C语言程序。 3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。 4、C 语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函 数 printf 完成的。 5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名是 .exe 。 6、C 语言的标识符只能由字母、数字和下划线三种字符组成。 第一章1.1 题目内容: 使用printf()在屏幕上输出hello world! 提示: #include 输入格式: 输出格式: 输出提示信息: "hello world!\n" "hello hit!\n" "hello everyone!\n" 输入样例: 输出样例: hello world! hello hit! hello everyone! #include 程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); } 【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p C语言函数题库及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998 第六部分函数 一、单项选择题 1.C语言中的函数返回值的类型是由(D)决定 A.return语句中的表达式B.调用函数的主调函数 C.调用函数时临时D.定义函数时所指定的函数类型 2.下面不正确的描述是(B)。 A.调用函数时,实参可以是表达式 B.调用函数时,实参和形参可以共用内存单元 C.调用函数时,将形参分配内存单元 D.调用函数时,实参与形参的类型必须一致 3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是 (D) A.地址传递B.值传递 C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式 4.下面的函数调用语句中含有(A)个实参 inta,b,c; intsum(intx1,intx2); …… total=sum((a,b),c); A.2B.3C.4 D.5 5.在C语言中(C) A.函数的定义可以嵌套,但函数的调用不可以嵌套 B.函数的定义和调用均不可以嵌套 C.函数的定义不可以嵌套,但是函数的调用可以嵌套 D.函数的定义和调用均可以嵌套 6.关于C语言中的return语句正确的是(C) A.只能在主函数中出现 B.在每个函数中都必须出现 C.可以在一个函数中出现多次 D.只能在除主函数之外的函数中出现 7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D) (floatx[],intn) (float*x,intn) (floatx[10],intn) (floatx,intn) 8.在C语言中,函数的数据类型是指(A) A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 9.已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是(C) C语言程序设计第二版 习题参考答案 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT- C语言程序设计习题参考答案 习题 1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII 码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是 ___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。 第三章课后练习题 一、单项选择题 1.根据C语言的语法规则,不能做变量名的是: A)do B)Name C)R5 D)_exam 2.下列四组选项中,全是C语言关键字的选项是:感觉没有答案 A)define IF type B)getc char printf :printf是函数名 C)include case scanf :同上 D)while go pow :同上 3.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符: A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 4.在C语言中,合法的字符常量是: A) 3 B)‘S’ C)'ab' D)"A" 5.若已定义x和y为double类型,则表达式:x=1,y=x+3/2中y的值是: A) 1 B) 2 C) 3 D) 2.5 6.C语言提供的不合法的数据类型关键字是: A)double B)short C)integer D)char 7.合法的C语言中,合法的字符串是: A)'\t' B)"A" C)‘a’ D)‘a\t’ 8.执行语句int a=5; a++;后,a的值是: A)7 B) 6 C) 5 D) 4 A) 9.以下选项中属于C语言的数据类型是: A)复合型 B)双精度型 C)数学型 D)集合型 10.Vc6.0下各种基本数据类型的存贮空间正确的长度排列是: A)int< Char<=float 2019年C语言考题答案 1、程序填空题 给定的程序的功能是调用fun 函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat 的二进制中。 填空:( 1) STYPE(2)FILE(3)fp 改错:(1) for(i=0;i<=sl;i++)(2)t[2*sl]= 0“ 或t[sl+sl]= 0“ 编程: *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b% 10); 2、程序填空题给定程序的功能是:从键盘输入若干文本 (每行不超过80 个字符),写到文件myfile4.txt 中,用-1 作为字符串输出输入的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText 和Writetext 实现。 填空:(1)*fw(2)str (3) str 改错:(1)voidfun(longs,long*t)(2) s1=s1*10; 编程:int i,j=0,min=a[0].s; for(i=0;i else if(min==a[i].s) b[j++]=a[i]; } return j; 3、程序填空题 给定程序中,函数fun 的功能是:讲自 然数1~10 以及它们的平方根写到名为myfile3.txt 的文本中,然后再按顺序读出显示在屏幕上。 填空:( 1) fp( 2)fclose(fp)(3)myfile3.txt 改错:( 1)for(i=j+1;i 第三章数据类型、运算符和表达式 一、选择题: 1、以下选项中,不正确的C 语言浮点型常量是(C)。 A. 160. B. 0.12 C. 2e4.2 D. 0.0 2、以下选项中,(D)是不正确的C 语言字符型常量。 A. 'a' B. '\x41' C. '\101' D. "a" 3、在C 语言中,字符型数据在计算机内存中,以字符的(C)形式存储。 A. 原码 B. 反码 C. ASCII 码 D. BCD码 4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是(C)。 x=(i=4,j=16,k=32) A. 4 B. 16 C.32 D.52 5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算 C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 6、表达式!x||a==b 等效于(D)。 A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b) 7、设整型变量m,n,a,b,c,d 均为1,执行(m=a>b)&&(n=c>d)后, m,n 的值是(B)。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 8、设有语句int a=3;,则执行了语句a+=a-=a*=a;后,变量a 的值是(B)。 A. 3 B. 0 C. 9 D. -12 9、在以下一组运算符中,优先级最低的运算符是(D)。 A. * B. != C. + D. = 10、设整型变量i 值为2,表达式(++i)+(++i)+(++i)的结果是(B)。 A. 6 B. 12 C. 15 D. 表达式出错 11、若已定义x 和y为double 类型,则表达式x=1,y=x+3/2 的值是(C)。 A. 1 B. 2 C. 2.0 D. 2.5 12、设a=1,b=2,c=3,d=4,则表达式:a10 && a<15 D. !(a<=10) && !(a>=15) 14、设f是实型变量,下列表达式中不是逗号表达式的是(D)。 A. f= 3.2, 1.0 B. f>0, f<10 C. f=2.0, f>0 D. f=(3.2, 1.0) 15、表达式18/4*sqrt(4.0)/8值的数据类型是(C)。 A. int B. float C. double D. 不确定 16、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句 C2=’A’+’6’-‘3’;后c2中的值是(A)。 A. D B. 68 C. 不确定的值 D. C 17、以下用户标识符中,合法的是(B)。 A. int B. nit C. 123 D. a+b 18、C 语言中,要求运算对象只能为整数的运算符是(A)。 精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学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 。 大学C语言考试题库 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。C语言题库及答案
C语言课后习题答案(最终)
C语言第三章复习题及答案
大学c语言考试题库含答案
C语言练习题-第三章参考答案(已勘误)
C语言考试题库及答案复习整理
C语言习题及参考答案
C语言第三章习题带答案-2012.10.9更新
C语言全部章节习题集(参考答案)
c语言习题及答案
C语言程序设计程序填空题库及答案
C语言函数题库及答案
C语言程序设计第二版习题参考答案
C语言谭浩强版本第三章课后练习题答案
2019二级C语言题库参考答案解析
c语言第三、四章(习题册答案)
大学C语言考试题库及答案
C语言试题及答案