练习题
1. 以下对C程序的描述中正确的是( C )。
A) C程序总是从第一个定义的函数开始执行。
B) C程序总是从最后一个定义的函数开始执行。
C) C程序总是从main()函数开始执行。
D) C程序中的main()函数必须放在程序的开始部分。
2. 一个C程序的执行是从( A )。
A) 本程序的main函数开始,到main函数结束
B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C) 本程序文件的第一个函数开始,到本程序main函数结束
D) 本程序的main函数开始,到本程序文件的最后一个函数结束
3. 以下叙述正确的是( C )
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误
B) 在C程序中,main函数必须位于程序的最前面
C) C语言本身没有输入输出语句
D) C程序的每行中只能写一条语句
4. 以下选项中正确的C语言常量是( C )。
A) 0xEfGh B) 'XYZ'
C) 12.34e5 D) '\5A'
5. 以下选项中,合法的C语言用户标识符是( D )。
A) b-a B) 5ab
C) int D) INT
6. 以下选项中,三种类型都是C语言的基本类型的是( C )。
A) int, long, real B) integer, short, double
C) int, float, char D) int, decimal, char
7.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为( D )
A) float B) char C) int D) double
8. 设要定义n为整型变量,定义x为双精度实型变量,正确的语句是( C )。
A) int n, double x, B) int n, double x;
C) int n; double x; D) int n; double x,
9. 以下四项中,不合法的C语言用户标识符是( D )。
A) temp B) my_program
C) year2009 D) int
10.有以下程序,程序运行后的输出结果是( A )。
#include
void main()
{
int a=15, b=21, m=0;
switch (a%3)
{ case 0: m++; break;
case 1: m++;
switch (b%2)
{ default: m++;
case 0: m++; break;
}
}
printf(”%d\n”,m);
}
A.1 B.2 C.3 D.4
11. 设有:int a=1,b=2,c=3,d=4,m=2,n=2;表达式(m=a>b)&&(n=c>d)的结果为( A )
A) 0 B) 1 C) 2 D) 3
12. 设int n; 对应“n为二位数(10至99)”的判断表达式是( B )。
A) 10<=n<=99 B) 10<=n && n<=99
C) 10<=n || n<=99 D) 10<=n, n<=99
13. 在C语言中,三种基本的语句结构是:( A )。
A) 顺序结构,选择结构,循环结构
B) 函数结构,选择结构,循环结构
C) 顺序结构,嵌套结构,循环结构
D) 递归结构,转移结构,循环结构
14. 设有如下语句int x,y; scanf("%d%d",&x,&y); 如果要使变量x得到数值11,变量y 得到数值22,正确的输入应是(□表示空格,↙表示回车)( D )。
A) x=11□y=22↙B) x=11↙y=22↙
C) 11,12↙D) 11□22↙
15. 设有定义char c;且c表示一个小写字母,结果为对应大写字母的表达式是( C )。
A) c - a + A B) c - A + a
C) c - 'a' + 'A' D) c - 'A' + 'a'
16. 以下四项中不合法的C语言常量是( A )。
A) 'xab' B) "x1f"
C) 0x1234 D) 2.1e3
17. 设char ch; 判断“ch为数字字符”的表达式是:( A )。
A) ch>='0' && ch<='9' B) ch>0 && ch<9
C) ch>='0' || ch<='9' D) ch>=0 || ch<=9
18. 有字符数组s[10]={‘A’,‘\0’,‘B’,‘C’,‘\0’,‘D’};有语句a=strlen(s), a的值( A )。
A)1 B) 2 C) 5 D) 6
19. 以下能对二维数组a进行正确初始化的语句是:( B )。
A)int a[2][]={{1,0,1},{5,2,3}} B) int a[][3]={{1,2,3},{4,5,6}}
C)int a[2][4]={{1,2,3},{4,5},{6}} D)int a[][3]={{1,0,1,0} ,{5,2,3}}
20. 设int n,m; 使m为n的十进制百位数的语句是( C )。
A) m = n/100; B) m = n%100;
C) m = n/100%10; D) m = n%10/100;
21. 设int n; 判断“n为0”的表达式是( D )。
A) n=0 B) n!=0
C) !(n=0) D) n==0
22. 设float x,y; 使y为x的小数部分的语句是( C )。
A) y = (int)x; B) y = int(x);
C) y = x–(int)x; D) y = x–int(x);
23. 设有定义int a;判断a是一个偶数的表达式是( D )。
A) a==2*n B) a/2==0
C) a%2 D) a%2==0
24. 设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中的值为0的是( D )。
A)’x’&&’y’B) x<=y C) x||y+z&&y-z D) !((x 25. 若又说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是( B )。 A) 2 B) 3 C) 4 D) 不确定 26. 设有int n=10; 要求屏幕上显示“n=10”结果,正确的语句是( C )。 A) printf( n ); B) printf( "n=", n ); C) printf( "n=%d", n ); D) printf( "n=%d", &n ); 27. 以下程序的运行结果是( B ) main() { int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(“%d,%d”,a,b); } A) 6,1 B) 2,1 C) 6,0 D) 2,0 28.已知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 29. 以下程序的运行结果是( C ) void main() { int m=5; if(m++>5) printf(“%d\n”,m); else printf(“%d\n”,m--); } A) 4 B) 5 C) 6 D) 7 30. 选择程序输出结果( D ) f(int b[ ],int m,int n) { int i,s=0; for(i=m;i s= s+b[i]; return s; } void main() {int x,a[ ]={1,2,3,4,5,6,7,8,9}; x=f(a,3,7); printf("%d\n",x); } A) 30 B) 15 C ) 18 D ) 22 31. 以下程序段( C ) x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 32. 以下( B )语句输出字符'a'的ASCII编码。 A) printf("%d",a); B) printf("%d",'a'); C) printf("%c",'a'); D) putchar(a); 33. 若有定义: int a=2,b=3,c=1; 则以下程序段的运行结果是( D )。 if(a>b) if(a>c) printf("%d,",a); else printf("%d,",b); printf("%d",c); A.3,1 B.2,1 C.3 D.1 34. 若i为整型变量,则以下循环执行次数是( B ) for(i=2;i==0;)printf("%d",i--); A)无限次 B)0次 C)1次 D)2次 35. 语句printf("%.1f,%d\n",10./4,10/8); 的输出是( B )。 A) 2.5,1.25 B) 2.5,1 C) 1,1.25 D) 2,1.25 36. 设int x,y,t; 能正确交换变量x与y值的语句序列是( C )。 A) x=y; y=x; B) t=y; x=t; y=x; C) t=x; x=y; y=t; D) x=t; y=x; t=y; 37. 设有定义float x=3.567,y; 赋值使y为3.6的语句是( A )。 A) y = (int)(10*x+0.5)/10.0; B) y = (int)(10*x)/10.0 C) y = (int)(10*x)/10.0 + 0.5 D) y = (%3.1f) x; 38.语句a=(3/4)+3%2;运行后,a的值为( B )。 A) 0 B)1 C)2 D)3 39.下列语句段的运行结果是( A )。 int a=1234;float x=56.789; printf("%3d,%4.2f\n",a,x); A) 1234,56.79 B) 1234 56.79 C) 1234,56.789 D) 1234 56.789 40. 设有double x; char s[50]; 输出双精度浮点数x和字符串s,正确的语句是( A )。 A) printf("%lf %s",x,s); B) printf("%ld %s",x,s); C) printf("%lf %s",&x,s); D) printf("%lf %s",x,s[50]); 41. 下面程序段的运行结果是( D ) char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b); printf("%c",a[5]); A)空格B)\0 C)e D)f 42. 设有int a,b; 满足以下判断的表达式是:( A )。 a是3的倍数,或者b不是5的倍数 A) a%3==0 || b%5!=0 B) a%3!=0 || b%5==0 C) a%3!=0 || b%5!=0 D) a%3==0 || b%5==0 43. 设有变量定义char str[80]; 下列( B )语句能将字符串“shanghai 2011”从键盘输入到数组变量str中。 A) printf("%s",str); B) gets(str); C) scanf("%s",str); D) puts(str); 44. 设int n; 下列选择中“结果恒为真”的表达式是( C )。 A) n=0 B) n!=0 C) n=1 D) n=n 45. 以下对二维数组a的正确说明是( C ) A)int a[3][]; B)float a(3,4); C)double a[1][4] D)float a(3)(4); 46. 判断字符串s1是否大于字符串s2,应当使用( D ) A)if(s1>s2) B)if(strcmp(s1,s2)) C)if(strcmp(s2,s1)>0) D)if(strcmp(s1,s2)>0) 47. 以下程序段运行时,若从键盘输入5,则运行结果是( D )。 int a,y=10; scanf("%d",&a); if (a>10) y=a+6; printf("%d\n",y+a); A)10 B)11 C)16 D)15 48. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为(B ) A) 地址传递 B)单向值传递 C)由实参传给形参,再由形参传回给实参 D)由用户指定传递方式 49. ( A )是不正确的叙述。 A)注释说明只能位于一条语句的后面 B)C源程序的基本组成单元是函数 C)C源程序可由一个或多个函数组成 D)每条语句最后必须有一个分号 50. 若有定义:int k,i=2,j=4; 则表达式k=(++i)*(j--) 的值是( B )。 A) 8 B) 12 C) 6 D) 9 51. 下面叙述正确的是( D )。 A)每行最多只能写两条语句B)程序中必需含有自定义函数 C)main()函数必须位于源程序文件的开头D)所有语句都必须以分号";"结束 52. 设有int i=0; 下列语句的运行结果是( A )。 while (i<=6) { printf("%d",i); i=i+1; } A) 0123456 B) 012345 C) 01234 D) 0123 53. 设有int n=60; 下列语句的运行结果是( D )。 switch (n/10) { case 6: printf("@"); case 5: printf("#"); default: printf("$"); } A) @ B) #$ C) $ D) @#$ 54.若有说明语句:char c='\95'; 则变量c包含( A )个字符。 A)1 B)2 C.)3 D. 语法错误 55. 以下一维数组定义中,正确的是( A )。 A) int a[5] = { 1,2,3,4,5 }; B) int a[5] = 1,2,3,4,5; C) int a[1 to 5]; D) int a[]; 56. 若有定义:int x=1234,y=123,z=12;则语句printf("%4d+%3d+%2d", x, y, z);运行后的输出结果为(D)。 A. 123412312 B. 12341234123412341231231231212 C. 1234+1234+1234 D. 1234+123+12 57. 设有char ch; 下列语句的运行结果是( C )。 for(ch='B';ch<='F';ch++) printf(“%c”,ch); A) ABCDEFG B) ABCDEF C) BCDEF D) BCDEFG 58. 已知一个字符串的最大字符长度为8,要使用字符数组str存放该字符串,以下哪种定义是正确的:( A ) A) char str[9]; B) char str[8]; C) char str; D) char str(9); 59. 设有int a=70; 写出下列语句的运行结果:( A )。 if ( a>=60 ) if (a>=80) printf("Very Good"); else printf("Good"); else if (a>=40) printf("Bad"); else printf("Very Bad"); A) Good B) Very Good C) Bad D) Very Bad 60. 设有int i; 以下语句中,循环次数为100次的语句是( B )。 A) for ( i=0; i<=100; i++ ) B) for ( i=0; i<100; i++ ) C) for ( i=0; i<99; i++ ) D) for ( i=1; i<99; i++ ) 61. 下列运算符中,不属于关系运算符的是( D ). A) < B) > C) >= D) ! 62. 在字符串常用函数中,用于复制字符串的函数是( B )。 A) strlen B) strcpy C) strcat D) strcmp 63. 设有char str[80];则下列输入字符串的语句中正确的是( C )。 A) scanf("%s",&str); B) scanf("%s",str[80]); C) scanf("%s",str); D) scanf("%s",str[0]); 64. 若有以下的定义:int t[3][2];则 t数组最后一个元素是( D )。 A) t[3][2] B) t[2][3] C) t[2] D) t[2][1] 65. C语言中规定函数的返回值的类型是由( D ) A) return语句中的表达式类型所决定B) 调用该函数时的主调用函数类型所决定C) 调用该函数时系统临时决定D) 在定义该函数时所指定的类型所决定 66. 设有定义:int a[10]={6,7,8,9,10};正确的解释是( B )。 A) 将5个初值依次赋给a[1]至a[5] B) 将5个初值依次赋给a[0]至a[4] C) 将5个初值依次赋给a[6]至a[10] D) 将5个初值依次赋给a[5]至a[9] 67. 先用语句定义字符型变量c,然后要将字符a 赋给c,则下列语句中正确的是( A ). A) c='a'; B) c="a"; C) c="97"; D) C='97' 68. 以下字符串定义与赋值中,正确的是( D )。 A) char s[80]; s = {'A', 'B', 'C'}; B) char s[80]; s = "ABC"; C) char s[80] = {"A", "B", "C"}; D) char s[80] = "ABC"; 69. 设有下列变量说明与函数说明,则合法的函数调用语句是( B )。 int func( int a[], int n ); int a[10], n, x; A) func( a, n ) = x; B) x = func( a, n ); C) x = func( a[], n ); D) x = func( a[10], n ); 70.下列程序的输出结果为( A )。 void main() {int m=7,n=4; float a=38.4,b=6.4,x; x=m/2+n*a/b+1/2; printf("%f\n",x); } A:27.000000 B:27.500000 C:28.000000 D:28.500000 71. 下列选项中合法的函数说明语句是( A )。 A) double func( int a, int b ); B) double func( int a, b ); C) double func( a, int b ); D) double func( a, b ); 72.以下程序的运行结果是( B )。 void main() { int n='a'; switch(n) { case 'a': case 'b': printf("good "); break; case 'c': printf("pass "); case 'd': printf("warn "); default: printf("error "); } } A) error B) good C) error good D) warn 73. 有定义:int a=8,b=5,c;, 执行语句 c=a/b+0.4;后,c 的值为( B ) A)1.4 B)1 C)2.0 D)2 74. printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式( B ) A)从左起输出该字串,右补空格B)按原字符长从左向右全部输出 C)右对齐输出该字串,左补空格D)输出错误信息 75. 设有说明int n; char str[80];与函数调用:n=hex2dec(str); 则函数hex2dec正确的函数说明应该是: ( A )。 A) int hex2dec(char str[]); B) void hex2dec(char str[]); C) int hex2dec(char str); D) void hex2dec(char str); 76. 在c语言中while循环和do--while循环的主要区别是( B )。 A) do--while循环体内可以使用break语句,while循环体内不能使用break语句 B)do--while的循环体至少无条件执行一次,while的循环体不是 C)do--while循环体内可以使用continue语句,while循环体内不能使用continue语句 D) while的循环体至少无条件执行一次,do--while的循环体不是 77.以下程序的运行结果是( B )。 void main() { int sum = 0, item = 0; while(item < 5) { item++; sum = sum +item; if(sum= =5) break; } printf("%d\n",sum); } A) 10 B) 15 C) 5 D) 6 78. putchar()函数的功能是向终端输出( B )。 A. 多个字符 B. 一个字符 C. 一个实型变量值 D. 一个整型变量表达式 79.设有如下程序段:则执行该程序段后,s的值是( C )。 int a[3][3]={1,0,2,1,0,2,1,0,1},i,j,s=0; for(i=0;i<3;i++) for(j=0;j s=s+a[i][j]; A) 0 B)1 C)2 D)3 80. 若有定义:int a[3][4]={{1,2},{0},{1,2,3}};则a[1][1]的值为( A )。 A. 0 B. {1,2} C. 1 D. 3 81. C 语言程序中必须有的函数是( B ). A)#include "stdio.h" B)main C)printf D)scanf 82.以下程序的运行结果是( A )。 void fun(int array[4][4]) { int j; for(j=0;j<4;j++) printf("%2d",array[2][j]); printf("\n"); } main() { int a[4][4]={0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0}; fun(a); } A)2 0 0 5 B) 1 0 0 4 C)0 1 2 0 D) 0 4 5 0 83.如下fun函数的类型应该是( C )。 fun(float x) {double y; int z ; y=x * x ; z=(int)y ; return(z); } A)void B)double C)int D)float 84. 在C语言中,表示结束当前函数的语句是 ( A )。 A) return语句B) break语句C) continue语句D) end语句 85.以下程序运行后屏幕输出为( B )。 #include int f(int x,int y) { return(x+y); } main() { int a=2,b=3,c; c=f(a,b); printf("%d+%d=%d\n",a,b,c); } A)0 B) 2+3=5 C) 2+3=0 D) 3+2=5 86. 在C语言中,表示循环的一组语句是( A )。 A) for, while, do-while B) for, while, do-until C) for, loop, do-loop D) for, for each, while 87.若有定义:char a[]="abcdef";char b[]="xyz";则以下程序段运行后屏幕输出为( B)。strcpy(a,b); printf("%c",a[2]); A. c B. z C. \0 D. d 88.若有说明int a[3][4];则对a 数组元素的正确引用是( C ). A)a[2][4] B)a[1,3] C)a[1+1][0] D)a(2)(1) 89. 若有定义:int a[3]={0,1,2};则a[1]的值为( B )。 A. 0 B. 1 C. 2 D. 3 90. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( C ) A) 必须为字母B) 必须为下划线 C) 必须为字母或下划线D) 可以是字母,数字和下划线中任一字符 91. C语言中,引用数组元素时,其数组下标的数据类型允许是( C ) A) 整型常量B) 整型表达式 C) 整型常量或整型表达式D) 任何类型的表达式 92. 下面不正确的字符串常量是( A ) A) 'abc' B) "12'12" C) "0" D) "" 93. 若有定义:int a=6,b=2;char c1='a',c2='b';则表达式a+b%5+c2-c1的值是( C )。 A. 7 B. 8 C. 9 D. 表达式错误 94. 若有定义:int k,i=2,j=4; 则表达式 k=(++i)*(j--) 的值是( B )。 A. 8 B. 12 C. 6 D. 9 95. 以下程序运行后屏幕输出为( B )。 #include void f(int i) { int a=2; a=i++; printf("%d,",a); } main() { int a=1,c=3; f(c); a=c++; printf("%d",a); } A) 4,3 B) 3,3 C) . 4,5 D) 3,5 程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#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 单选题 1、下列语言中不属于计算机语言的三大类的是(C)。 A.机器语言 B.汇编语言 C.脚本语言 D.高级语言 2、下列说法中不正确的是(C) A.计算机语言大致可分为三大类,即机器语言、汇编语言和高级语言 B.C语言是一种通用的、过程式的编程语言,具有高效、灵活、可移植等优点 C.C语言属于汇编语言 D.高级语言比汇编语言更贴近于人类使用的语言,易于理解、记忆和使用 3、以下开发工具中不属于主流的开发工具的是(B) A.Visual Studio B.Xcode C.Code::Block D.Eclipse 4、下列选项是对主流开发工具的介绍,其中错误的是(B) A.Visual Studio支持C/C++、C#、F#、VB等多种程序语言的开发和测试 B.Code::Block是一个免费的跨平台IDE,支持C、C++和Fortan程序的开发 C.Eclipse是一种被广泛使用的免费跨平台IDE,最初由IBM公司开发 D.Vim是一款功能非常强大的IDE ( 和其他IDE不同的是,Vim本身并不是一个用于开发计算机程序的IDE,而是一款功能非常强大的文本编辑器,它是UNIX系统上Vi编辑器的升级版。) 5、下列选项中,不属于开发一个C语言应用程序的具体实现步骤的是(A) A.启动开发工具 B.添加源文件 C.编写代码 D.运行程序 6、下列选项中,关于main()函数叙述不正确的是(C) A.一个完整的C语言程序中,有且只能有一个main()函数 B.main()函数是程序的主入口,程序总是从main()函数开始执行 C.如果没有声明main()函数,程序将从第1行开始执行 D.main()函数可以有返回值,也可以没有返回值 7、下面程序中,合法的选项是(D) A.#includeint main() { printf("hello world\n"); return 0; } B.#includeint man() { printf("hello world\n"); return 0; } C.#includeint main() { printf("hello world\n") return 0; } D.#includeint main() { print("hello world\n"); return 0; } 8、下面程序中,运行结果为“1,2”的是(A) A.#includeint main() { int a = 1; int b = 2; printf("%d %d\n",a,b); return 0; } B.#includeint main() { int a = 1; int b = 2; printf("%d,"a); printf("%d\n",b); return 0; } C.#includeint main() { int a = 1, b = 2; printf("%d,,%d\n",a,b); return 0; } 一、单选题 1. (4分)若调用fputc函数输出字符成功,则其返回值是( )。? A. EOF ? B. 1 ? C. 0 ? D. 输出的字符 得分:0知识点:C语言程序设计作业题收起解析 答案D 解析 2. (4分)若以下程序段: struct dent { int n; int*m; }; int a=1, b=2,c=3; struct dent s[3]={{101<&a},{102<&b},{103,&c}; main() { struct dent *p; p=s; ….. } 则以下表达中值为2的是()。 ? A. (p++)->m ? B. *(P++)->m ? C. (*p).m ? D. *(++p)->m 得分:0知识点:C语言程序设计作业题收起解析 答案D 解析 3. (4分)在一个c源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( ). ? A. extern ? B. register ? C. auto ? D. static 得分:0知识点:C语言程序设计作业题收起解析 答案D 解析 4. (4分)若二维数组a有m列,则在a[i][j]前面的元素个数为()。? A. j*m+i ? B. i*m+j ? C. i*m+j-1 ? D. i*m+j+1 得分:0知识点:C语言程序设计作业题收起解析 答案B 解析 5. (4分)下面程序的运行结果是(). main() { struct cmplx {int x; int y; } cnum[2]={1,3,2,7}; printf(“%d ”,cnum[0].y/cnum[0].x*cnum[1].x); } ? A. 0 ? B. 1 ? C. 3 C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后( #include 面向对象程序设计期末综合练习二(填空题) 填空题 1.C++ 语言是在 _________语言的基础上发展起来的。 2.C++ 语言的编译单位是扩展名为 __________的 __________文件。 3.行尾使用注释的开始标记符为 __________ 。 4.多行注释的开始标记符和结束标记符分别为__________ 和 __________。 5.用于输出表达式值的标准输出流对象是_________。 6.用于从键盘上为变量输入值的标准输入流对象是________。 7.一个完整程序中必须有一个名为 ________的函数。 8.一个函数的函数体就是一条 _________语句。 9.当执行 cin 语句时,从键盘上输入每个数据后必须接着输入一个________符,然后才能继续输入下一个数据。 10.在 C++程序中包含一个头文件或程序文件的预编译命令为__________。 11.程序中的预处理命令是指以______字符开头的命令。 12.一条表达式语句必须以 ______ 作为结束符。 13.在#include 命令中所包含的头文件,可以是系统定义的头文件,也可以是 ________定义的头文件。 14.使用 #include 命令可以包含一个头文件,也可以包含一个______文件。 15.一个函数定义由 ________和 ________两部分组成。 16.若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的______语句。 17. C++头文件和源程序文件的扩展名分别为______和 ______。 18.程序文件的编译错误分为 ________和 ________两类。 19.当使用 _______保留字作为函数类型时,该函数不返回任何值。 20.当函数参数表用 ______保留字表示时,则表示该参数表为空。 21 .从一条函数原型语句“int fun1(void);”可知,该函数的返回类型为______,该函数带有______ 个参数。 22.当执行 cout 语句输出 endl 数据项时,将使 C++显示输出屏幕上的光标从当前位置移动到 ________的开始位置。 23.假定 x=5,y=6,则表达式 x++*++y 的值为 __________ 。 24.假定 x=5,y=6,则表达式x--*--y的值为__________。 25.假定 x=5,y=6,则执行表达式 y*=x++ 计算后, x 和 y 的值分别为 __________和 __________ 。 26.假定 x=5,y=6,则执行表达式 y+=x-- 计算后, x 和 y 的值分别为 __________和 __________ 。 27.C++ 常数 0x145 对应的十进制值为 __________。 28.C++ 常数 0345 对应的十进制值为 __________ 。 29.十进制常数 245 对应的十六进制的 C++表示为 __________。 30.十进制常数 245 对应的八进制的 C++表示为 __________ 。 31.signed char类型的值域范围是________至__________之间的整数。 32.int和float类型的数据分别占用_________和__________个字节。 33.float和double类型的数据分别占用_________和________个字节。 34.bool和char类型的数据分别占用_________和________个字节。 35.unsigned short int和int类型的长度分别为_________和________。 《C语言程序设计》综合练习题与答案 一、简要问答下列问题 1.什么是源程序? 2.C语言源程序的编译过程是怎样的? 3.简述C语言的特点 4.C/C++程序都是由函数组成的,其中最主要的、不可缺少的函数是哪一个?举例说明该函数的结构。 5.函数的返回值是通过什么语句来实现的,它的格式是什么? 6.在编写C程序时,为什么要把库函数的头文件包含到用户源程序中?如何把用户的头文件包含到用户源程序? 7.在计算机中,存储的数据为什么要分成多种不同的数据类型? 8.什么是常量?什么是变量? 9.C语言的五种基本数据类型有哪些?它们的关键字和所占的字节数分别是什么? 10.判断标识符是否合法的三条规则是什么? 11.什么是C语言的关键字?关键字对标示符有何影响? 12.全局变量和局部变量有什么区别? 13.什么是空语句,什么是语句块? 14.结构化程序设计的三种基本结构是什么? 15.三种循环语句各有什么特点? 16.什么叫多重循环结构? 17.Continue语句与break语句有什么区别? 18.字符与字符串有什么区别?‘b’与“b”相同吗? 19.什么是数组?一维数组的定义形式是怎样的? 20.字符串的结束标记是什么? 21.什么是按位操作?C语言对按位操作有哪些要求? 22.什么是指针?指针的两个操作符表示什么意义? 23.指针和数组有什么关系? 24.指针有那几种算术运算?说明指针变量的算术运算与一般变量的算术运算有何区别? 25.函数是由哪三部分组成的?函数定义的一般形式是什么? 26.函数原型是什么情况下使用?有什么作用? 27.形参和实参有什么关系,函数的两种调用方式是什么? 28.什么是函数的递归调用? 29.什么是函数指针?说明定义函数指针的一般形式。 30.什么是内部函数?什么是外部函数? 31.C语言的四种用户定义数据类型是什么? 32.C系统提供的三种主要预处理功能是什么? 33.什么是文件包含? 34.什么是文件?什么是流? 封面 此页统一购买注意本页以下两项的填写 指导老师:李筠虞闯 完成日期:2016-6-5 成绩评定表 课程设计任务书 目录 1、内容及要求 ................................................ 错误!未定义书签。 2、功能分析 .................................................... 错误!未定义书签。 3、设计 ............................................................ 错误!未定义书签。 4、运行与测试 ................................................ 错误!未定义书签。 5、总结 ............................................................ 错误!未定义书签。参考文献 .......................................................... 错误!未定义书签。 1、内容及要求 1.1内容: 人事档案管理:建立数据文件(职工、部门、职称)完成:①数据录入②查询③插入、删除、修改④排序等功能。 1.2要求: 1.程序代码完成,编译运行成功。 2.数据输入首选采用文件的方式,其次键盘输入。 3.分析采用哪种合适的存储结构来储存数据 4.设计一定的用户界面,简洁。 2、功能分析 2.1. 程序设计一般由两部分组成:算法和数据结构,合理地选择和实现一个数据结构和处理这些数据结构具有同样的重要性。在人事管理过程中,由于预计记录对于一个单位的人事数来说太大,操作除了能够增加、删除、修改、保存等外,更多的情况是查询,且能够实现快速查询。特别是当需要动态变化时利用指针,例如插入和删除数据等操作时,为方便插入和删除人事记录,通过数据的自动的移动数据,实现动态管理。 2.2本系统涉及的模块主要有:开始、系统管理、人事管理、信息查询等四大模块。 (1)开始界面主要包括: 各个功能的选择。 (1)人事管理主要包括: (编号、姓名等)基本内容的录入,增加等。 (2) 系统管理主要包括:员工信息的修改,排序等。 (3) 信息查询主要包括:员工信息的查找、删除等。 2.3功能模块图 一、填空共219题 第1题题号:422 设有以下结构类型说明和变量定义,则变量a在内存所占字节数是【1】 . Struct stud { char num[6]; int s[4]; double ave; } a,*p; 答案: 1). 22 第2题题号:533 设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是【1】. for (x=0,y=0;y!=123&&x<3;x++) scanf ("%d",&y); 答案: 1). 3 第3题题号:496 静态变量和外部变量的初始化是在【1】阶段完成的,而自动变量的赋值是 在【2】时进行的. 答案: 1). 编译 2). 函数调用 第4题题号:96 已知a=13,b=6, a&b的十进制数值为【1】. 答案: 1). 4 第5题题号:398 程序段int k=10; while(k=0) k=k-1循环体语句执行【1】次. 答案: 1). 0 第6题题号:651 设w=5;w+= -2;则w的值为【1】. 答案: 1). 3 第7题题号:258 下面程序段的输出结果是【1】. int a=12; a=a&0377;pritnf("%d\n",a); 答案: 1). 12 第8题题号:457 设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2 后,t的值是【1】. 答案: 1). 1 第9题题号:402 设a取二进制数00101101,若想通过a^b运算使a的高4位取反,低4位不变,则b的 二进制数是【1】. 答案: 1). 11110000 第10题题号:311 若所用变量均已正确定义,则执行下面程序段后的值是【1】. for(i=0 ; i<2 ; i++ ) printf("YES"); printf("\n"); 答案: 1). YESYES C语言练习题 (所提供的源程序均采用自定义函数方式解决,如不采用函数方式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能一一验证,仅供参 考使用) 1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。 #include 2、编写一个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运行后 a 中的值为8,b中的值为3。 #include C语言程序设计的试题及答案 C语言程序设计的试题及答案C语言程序设计的试题及答案第一章基础知识 一、填空 1.每个C程序都必须有且仅有一个________函数。 2.C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3.软件是程序,以及______、使用和维护所需要的所有文档。 4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6.C语言是由________组成的。 7.C语言的函数可分为主函数ain、标准库函数和_________。 8.一个函数是由两部分组成的,即:________和函数体。 9.编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自 动化、管理信息系统、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11.机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12.与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。 13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14.C程序的执行均是由执行_________开始。15.函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C语句组成的执行部分。 16.C语言程序中一条简单语句是以________字符作为结束符的。 17.C语言是结构化、________的程序设计语言。 18.由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19.用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.第一个系统体现结构化程序设计思想的教学工具语言是_______语言。 C语言程序设计练习题及参考答案 1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。 #include 2、编写一个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运行后 a 中的值为8,b中的值为3。 #include 单项选择题 (002) 阅读程序题 (018) 程序填空题 (039) 编写程序题 (070) 一、单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题,应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodbs tart$it line# pow ??? aBc 3pai His.age while 【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。 A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 【1.8】在C语言中,错误的int类型的常数是。 A) 32768 (超过了范围) B) 0 C) 037 D) 0xAF 【1.9】执行语句printf("%x",-1);屏幕显示____。 A) -1 B) 1 C) –ffff D) ffff 【1.10】已知long i=32768;执行语句printf("%d",i);屏幕显示____。 A) -1 B) -32768C) 1 D) 32768 【1.11】已知long i=65539; 执行语句printf("%d",i);屏幕显示____。 A) 65539 B) -3 C) 3D) 程序不能执行 【1.12】在C语言中,整数-8在内存中的存储形式是。 A) 1111 1111 1111 1000B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 0111 【1.13】C语言中字符型(char)数据在内存中的存储形式是____。 《C语言程序设计》试题库答案 一、选择题(下列各题有四个选项,只有一个答案是正确的,请选出正确选项)1--5ACDCB 6--10 ACBAB 11--15CCADB 16--20BABCD 21--25CDACC 26--30 DDBDB 31--35DADAA 36—40BCBCC 41—45CDCCB 46--50 CBAAD 51--55 BCAAC 56--60 DBBCA 61--65 CDCCD 66-70 CDDAC 71—75 CCDBC 76—80 DDBCA 81—85 CDDDB 86—90 BBBAB 二、填空题 1、【1】1 【2】2 2、【1】4 【2】8 3、 -16 4、 -32768 ~ 32767 5、【1】单精度型(或:float)【2】双精度型(或:double) 6、【1】整型【2】字符型【3】枚举类型 7、 1 8、 26 9、【1】12 【2】4 10、【1】6 【2】4 【3】2 11、 -60 12、 2 13、【1】10 【2】6 14、 5.500000 15、 3.500000 16、 i:dec=-4,oct=177774,hex=fffc,unsigned=65532 17、 *3.140000,3.142* 18、 c:dec=120,oct=170,hex=78,ASCII=x 19、 *d(1)=-2*d(2)=-2*d(3)=-2* *d(4)=177776*d(5)=177776*d(6)=177776* 20、 *d(1)=-2*d(2)=-2*d(3)=-2* *d(4)=fffe*d(5)=fffe*d(6)=fffe* 21、 *d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=3.500e+00* *d(4)=-3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00* 22、 x=1 y=2 *sum*=3 10 Squared is: 100 23、 (1) 10 (2) □□□□10 (□表示空格) (3) 56.100000 (4) □□□□□□3.141600 (5) 5.68100e+02 (6) □□□3.14160e+00 1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰返回2,一般三角形返回1,若不能构成三角形返回0。 #include <> int fun(int a,int b,int c) { if(a+b>c && b+c>a && a+c>b) { if(a==b && b==c ) return 3; else if(a==b||b==c||a==c) return 2; else return 1; } else return 0; } void main() { int a,b,c,shape; printf("\nInput a,b,c: "); scanf("%d%d%d",&a,&b,&c); printf("\na=%d, b=%d, c=%d\n",a,b,c); shape =fun(a,b,c); printf("\n\nThe shape : %d\n",shape); } 2、编写一个程序,将两个变量的值交换, 例如变量a中的值 原为 3,b中的值原为8,程序运行后 a 中的值为8,b中的值为3。 #include <> void fun(int *x,int *y) { int t; t=*x;*x=*y;*y=t } void main() { int a=3,b=8; printf("%d %d\n",a,b); fun(&a,b); printf("%d %d\n",a,b); } 3、从键盘输入3个数,将最大值放在变量a中,最小值放在变量c中。 例如,输入的数为:55 12 34, 输出结果应当是:a=,b=,c=。 #include <> void fun(float *p,float *q,float *s) { float k; if (*p<*q) { k=*p;*p=*q;*q=k;} if (*q<*s) { k=*s;*s=*p;*p=k;} 《C语言程序设计a》期末复习题 一、单选题 1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( A )。 A. main B. MAIN C. name D. function 2.每个C语言程序文件的编译错误分为( B )类。 A.1 B.2 C.3 D.4 3. 字符串"a+b=12\n"的长度为( B )。 A. 6 B. 7 C. 8 D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为( B )语句。 A. for B. if C. do D. while 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为( D )。 int i=0; do i++; while(i<10); A. 4 B. 3 C. 5 D. 10 6. 将两个字符串连接起来组成一个字符串时,选用的函数为( C )。 A. strlen() B. strcap() C. strcat() D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是( A )。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数 8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( C )个字节。 A. 4 B. 8 C. 16 D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s 所指向的字符串,则p应定义为( A )。 A. char *p=s; B. char *p=&s; C. char *p;p=*s; D. char *p; p=&s; 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为( B )。 A. gets() B. fgets() C. getc() D. fgetc() 11. 由C语言目标文件连接而成的可执行文件的缺省扩展名为( B )。 A. cpp B. exe C. obj D. c 12. 设有两条语句为“int a=12; a+=a*a;”,则执行结束后,a的值为( C )。 A. 12 B. 144 C. 156 D. 288 13. 带有随机函数调用的表达式rand()%20的值在( C )区间内。 . 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include C语言程序设计填空题及答案复习用 公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI- 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。【】下面程序的功能是不 用第三个变量,实现两个 数的对调操作。 #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 程序报告设计 题目:加密解密处理 程序设计报告的电子文档(B10080128—程序设计.doc ) 一.老师对作业要求。 1:对学生课程设计两周的纪律及提交内容的要求: (1)规定上机的时间内不得无故缺勤,有事需要向指导老师书面请假; (2)上机时禁止玩游戏,屡教不改者,实习成绩可为不及格;(3)每人手头准备一至两本C/C++的有关工具书,上机前作好充分的准备,包括事先写好主要算法的程序 代码以保证充分利用上机的时间调试程序; (4)同组可以讨论思路,但是程序要自己完成,不可抄袭,若完全抄袭别人的,实习成绩可为不及格; (5)实习的最后阶段认真完成实习报告的电子文档。报告内容不得少于15页。 (6)每个学生最后提交的材料: 压缩文件一个,起名为:学号名_题目名.rar(如:B06020127_学生管理系统.rar)。该压缩文件中包含下列 几个文件:程序设计报告的电子文档(起名为:学号_程序设计.doc)、源程序文件(起名为:学号名_题目 名.cpp,如:B06020127_学生管理系统.cpp)、原始数据文件(如:stud.dat)、编译链接后得到的可执行 文件(起名为:学号名_题目名.exe) (7)请同学独立完成报告,若发现两份报告一模一样,则两人都按不及格论处,请各位同学珍惜自己的版权 ,也请指导老师严格把关。 附2:上机时间:每天上午8:00——11:20 附3:成绩的评定 根据学生平时的上机出勤情况、为上机所作的准备情况、上机时的表现、程序的完成情况、报告的完成情况 、验收答辩时的表现等综合打分。等级为:优秀、良好、中等、及格、不及格。 附4:课程设计报告具体内容要求 学生管理系统 (题目格式:宋体,3号,加粗,居中对齐) 一、课题内容和要求(格式:宋体,4号,加粗,两端对齐) 该部分可参考前面给出的问题描述再加以细化一些 (正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距)C语言程序设计程序填空题库及答案
C语言程序设计教程第一章练习题题目
C语言程序设计
C语言程序设计期末考试试题(含答案)
C语言程序设计期末练习填空题.docx
《C语言程序设计》综合练习题与答案
c语言程序设计文档格式
大学计算机C语言程序设计(填空题)
C语言程序设计练习题(含程序及参考答案)21182
C语言程序设计的试题及答案
C语言程序设计函数练习题及参考答案
C语言程序设计试题集及答案
华师《C语言程序设计》练习题库答案
C语言程序设计练习题(含程序及参考答案)
《C语言程序设计A》
(完整word版)C语言程序设计填空题及答案复习用
C语言程序设计填空题及答案复习用
c语言程序设计文件加密解密