《C语言》课程综合复习资料
一、单选题
1. 在C语言中,字符型数据在存中的存储形式是
A)原码 B)补码 C)反码 D)ASCII码
2. 在C语言中,十进制数47可等价地表示为
A) 2f B) 02f C) 57 D) 057
3. 设有定义:int x=12,n=5; 则表达式 x%=(n%2) 的值为
A) 0 B) 1 C) 2 D) 3
4. 设有定义语句:char str[][20]={,"Beijing","中国石油大学"},*p=str;
则printf("%d\n",strlen(p+20)); 输出结果是
A)10 B) 6 C) 0 D) 20
5. 已定义以下函数: fun(int *p)
{ return *p; }
该函数的返回值是
A)不确定的值 B)形参p所指存储单元中的值
C)形参p中存放的值 D)形参p的地址值
6. C语言中,函数返回值的类型是由
A)return语句中的表达式类型决定
B)调用函数的主调函数类型决定
C)调用函数时的临时类型决定
D)定义函数时所指定的函数类型决定
7. 有以下函数定义:
void fun( int n , double x ) { …… }
若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是 A) fun( int y , double m ); B) k=fun( 10 , 12.5 );
C) fun( 10 , 12.5 ); D) void fun( 10 , 12.5 );
8. 以下选项中不能正确赋值的是
A) char b[]={′H′,′e′,′l′,′l′,′o′,′!′};
B) char b[10];b="Hello!";
C) char b[10]= "Hello!";
D) char *str="Hello!";
9. 若有以下定义:char s[20]= "programming",*ps=s;则不能代表字符g的表达式是
A) ps+3 B)s[3] C) ps[3] D) ps+=3,*ps
10. 当对两个字符串进行比较时,应该使用的函数是
A) strcat B) strcmp C) strcpy D) strlen
11. 若i为整型变量,则以下循环的次数是
for(i=2;i==0;)printf(“%d”,i--);
A)无限次 B) 0次 C) 1次 D) 2次
12. 以下关于数组的描述正确的是
A)数组大小固定,但是可以有不同类型的数组元素
B)数组大小可变,但是所有数组元素的类型必须相同
C)数组大小固定,所有元素的类型必须相同
D)数组大小可变,可以有不同类型的数组元素
13. 以下能正确定义数组并正确赋初值的语句是
A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};
C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},{34}};
14. 设有定义 int a[ ]={1,5,7,9,11,13}, *p=a+3; 则*(p-2) , *(a+4) 的值是
A)5 11 B)1 9 C)5 9 D)有错误
15. 已知char b[5],*p=b; ,则正确的赋值语句是
A)b=“abcd” ; B)*b=“abcd”; C) p=“abcd”; D)*p=“abcd”;
16. 用数组名作为函数调用时的实参,则实际传递给形参的是
A)数组的第一个元素值 B)数组中全部元素值
C)数组的首地址 D)数组的元素个数
17. 以下叙述中不正确的是
A)在不同的函数中可以使用相同名字的变量
B)函数中的形式参数是局部变量
C)在一个函数定义的变量只在本函数围有效
D)在一个函数的复合语句中定义的变量在本函数围有效
18. 当对两个字符串进行比较时,应该使用的函数是
A) strcat B) strcmp C) strcpy D) strlen
19. 有如下定义:long m;char c;float x;double y;则表达式c+m*x/y的值的类型是
A) long B) char C) float D) double
20. 假设已定义 char c[8]= "test"; int i;则下面的输出函数调用中错误的是
A) printf("%s",c); B) for(i=0;i<8;i++) printf("%c",c[i]);
C) puts(c) D) for(i=0;i<8;i++) puts(c[i]);
21. 若有以下定义:char s[20]= "programming",*ps=s;则不能代表字符g的表达式是
A) ps+3 B) s[3] C) ps[3] D) ps+=3,*ps
22. 以下选项中不能正确赋值的是
A) char b[]={′H′,′e′,′l′,′l′,′o′,′!′};
B) char b[10];b="Hello!";
C) char b[10]= "Hello!";
D) char *str="Hello!";
23. 有以下函数定义:
void fun( int n , double x ) { …… }
若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是_________。 A) fun( int y , double m ); B) k=fun( 10 , 12.5 );
C) fun( 10 , 12.5 ); D) void fun( 10 , 12.5 );
24.从变量的作用域来分,可分为全局变量和局部变量,形参是
A)局部变量 B)全局变量 C)静态变量 D)动态变量
二、读程序,写出程序的执行结果
1. #include
void main()
{ int x[]={1,2,3};
int s,i,*p=x;
s=1;
for(i=0;i<3;i++)
s*=*(p+i);
printf(“%d\n”,s);
}
答案6
2. #include
char fun(char *s)
{ if( *s >= 'a' && *s <= 'z' )
*s=*s-32;
return *s;
}
void main()
{ char a[20]="Welcome",*p,ch;
for(p=a;*p!='\0';p++)
{ ch=fun(p);
putchar(ch);
}
}
答案WELCOME
3. #include
void main()
{ int x=26587,x1,r,sum=0;
x1=x;
while(x>0)
{ r=x%10;
sum+=r;
x/=10;
}
printf( "Sum of the digits in %d is %d", x1,sum); }答案Sum of the digits in 26587 is 28
4.#include
int fun(int x)
{ int y=1;
static int z=4;
z+=1;++y;
return(x+y+z);
}
void main()
{ int i;
for(i=1;i<=3;i++)
printf("%3d",fun(i));
}
8 10 12
5.#include
void main()
{ int x=3,y=4;
int j;
for(j=1 ; y>0 ; y -- ) j=j*x;
printf(“j=%d\n”,j);
}
运行结果:j=81
6.#include
void main()
{ int x,y;
for(y=1,x=1; y<=20;y++)
{ if(x>=8) break;
if(x%2==1){ x+=5; continue ; } x-=3;
}
printf("x=%d, y=%d\n",x,y);
}
运行结果:x=8,y=4
7. #include
void main()
{ char x[]="language";
char *ptr=x;
while(*ptr)
{ printf("%c\n",*ptr-32);
ptr++;
}
}
运行结果:L
A
N
G
U
A
G
E
8. #include
void main()
{ int x[]={5,6,7};
int s=1,i,*p=x;
for(i=0;i<3;i++)
s*=*(p+i);
printf(“%d\n”,s);
}
运行结果:210
9.#include
int fun(int x)
{ return(x>0 ? x : -x);
}
void main()
{ int a=12;
printf(“%d, %d\n”,a,fun(a)) ;
}
运行结果:12,12
10. #include
void ex( )
{ static int x=3 ;
--x ;
printf(“%d”,x) ;
}
void main ( )
{ ex( );
ex( );
}
运行结果:21
11. #include
void main()
{ int i=0,a=0;
while( i<20 )
{ for(;;)
if((i%10)= =0) break;
else i- -;
i+=11;
a+=i;
}
printf("%d\n",a);
}
32
12.#include
void main()
{ int a[3][4]={{1,2,3,4},{9,7,10,6},{-1,8,-5,5}};
int i,j,row=0,colum=0,max;
max=a[0][0];
for(i=0;i<=2;i++)
for(j=0;j<=3;j++)
if(a[i][j]>max)
{ max=a[i][j];
row=i;
colum=j;
}
printf("max=%d,row=%d,colum=%d",max,row,colum);
}
max=10 ,row=1,colum=2
13. #include
int f(int b[], int m,int n)
{ int i,s=0;
for(i=m;i return s; } void main() { int x, a[]={1,2,3,4,5,6,7,8,9,10}; x=f(a,3,8); printf("%d\n",x); } 18 14.#include void swap(int b[]) { int *p,*p1,*p2; p1=&b[0] ;p2=&b[1]; p=p1; p1=p1+1; p2=p; } void main() { int a[]={5,9}; printf("%d,%d\n",*a,*(a+1)); swap(a); printf("%d,%d\n",a[0],a[1]); } 5,9 15. #include int b=3; int fun(int *a) { b+=*a; return(b); } void main() { int a=2, b=2; b+=fun(&a); printf(“%d\n”,b); } 7 16. #include void main() { int a[10],*p,*s,i; for(i=0;i<10;i++) scanf(%d”,a+i); for(p=a,s=a;p-a<10;p++) if(*p>*s)s=p; printf(“max=%d,index=%d\n”,*s, s-a); } 简述上列程序完成的功能:查找数组中最大值并记录元素下标 17. #include void main() { int x,y; for(y=1,x=1; y<=20;y++) { if(x>=8) break; if(x%2==1){ x+=5; continue ; } x-=3; } printf(“x=%d, y=%d\n”,x ,y); }运行结果:x=8,y=4 18. #include #define N 3 void zz(int x[N][N]) { int i,j,t; for(i=0;i for(j=0;j { t=x[i][j]; x[i][j]=x[j][i]; x[j][i]=t; } } void main() { int str[N][N]={1,2,3,4,5,6,7,8,9}, i,j; zz(str); for(i=0;i { for(j=0;j printf("\n") ; } } 运行结果:1 4 7 2 5 8 3 6 9 19.#include void main ( ) { char a[20]= "abcXYZ", c ; int i, j; j= strlen(a)-1 ; for (i=0; j>i; i++,j--) { c=*(a+i); *(a+i)=*(a+j); *(a+j)=c; } puts(a); }运行结果:ZXYcba 20. #include int a=100,b=200; void f( ) { printf(“%d,%d\n”,a,b); a=1;b=2; } void main() { int a=5,b=7 ; f( ); printf(“%d,%d\n”, a,b) ; }运行结果:5,7 21. #include int d=1 ; int fun(int p) { static int d=3 ; d+=p; printf("%3d" , d) ; return(d) ; } void main( ) { printf("%3d\n" , fun(2+fun(d))) ; } 运行结果:5,12,12 22.#include void main() { char x[]="123456789",*p=x ; int i=0; while(*p) { if(i%2==0) *p='*’; p++; i++; } puts(x); } 运行结果:*2*4*6*8* 三、编程题 1.编程输入实数x ,计算下面函数的值,并输出y 值。 x 2 x<1 y= 3x-1 1 ≤ x ≤ 10 5 x x > 10 程序结果:#include void main() { int x,y; scanf(“%d”,&x); if(x<1) else if(x>=1&&x<=10)y=3*x-1; else y=x/5; printf(“x=%d,y=%d\n”,x,y); } 2.编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,并输出统计结果。 程序结果:#include #include void main() /*主函数*/ { char c; /*定义变量*/ int m=0,n=0,a=0,b=0; printf("请输入任意字符串.\n"); /*输入提示部分,提示输入*/ while((c=getchar())!='\n') /*循环语句,将由键盘输入的非'\n'字符赋值给c*/ { if((c>=65&&c<=90)||(c>=97&&c<=122)) /*第一个选择语句,统计英文字符个数*/ { m=m+1; } else if(c==32) /*第二个选择语句,统计空格字符的个数*/ { n=n+1; } else if(c>=48&&c<=57) /*第三个选择语句,统计数字字符的个数*/ { } else /*统计其他字符的个数*/ b=b+1; } printf("%d%d%d%d",m,a,n,b); /*输出最后统计结果*/ getch(); /*输出结果后屏幕停留*/ } 3. 编写打印如下图形的程序 (必须用循环语句实现) * * * * * * * * * * * * * * * 程序结果:#include main( ) { int n,i,j; printf(“n=%d\n”); scanf(“%d”,&n); for(i=0;i { for(j=0;j for(j=0;j printf(“\n”); } 4. 编写程序,从键盘上任意输入20个整数,存入一个数组中,然后输出这些数中最大数及其下标以及最小数及其下标 程序结果:#include void main( ) { int a[20],i,max,min,num1,num2; for(i=0;i<20;i++) {printf(“input the number%d:”,i); scanf(“%d”,&a[i]); printf(“\n”); } for(i=0;i<20;i++) { If(a[i]<= a[0]) {min=a[i]; Num1=i; } Else {max=a[i]; num2=i; } } printf(“min=%d,num1=%d\n”,min,num1); printf(“max=%d,num2=%d\n”,max,num2);} 5. 编程打印下列的辉三角形。(设8行) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 程序结果:#include #define N 11 void main() { int i,j,a[N][N]; /*数组为11行11列,0行0列不用*/ for(i=1;i { a[i][1]=1; /*使第1列元素的值为1*/ a[i][i]=1; /*使对角线元素的值为1*/ } for(i=3;i for(j=2;j<=i-1;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=1;i {for(j=1;j<=i;j++) printf(“%6d ”,a[i][j]); printf(“\n ”); } printf(“\n ”); } 6.求分段函数的值 ?? ???<=>+=0 ln 01 012X x X X e Y x 程序结果:#include #inclde main() { double x ,y; scanf(“%lf ”,&x); if(x<0) y=log(x*x); else if(x==0) y=1; else y=1+exp(x); printf(“Y=%lf”,y); } 7.编程打印以下图形(要求用循环控制语句实现) & & & & & & & & & & & & & & & & & & & & & 程序结果#include main() { int i,j; for(i=1;i<=6;i++) { for(j=1;j<=6-i;j++) printf(" "); for(j=1;j<=i;j++) printf("& "); printf("\n"); } }: 《C语言》课程综合复习资料答案 一、单选题: 1D 2D 3A 4A 5D 6B 7C 8B 9A 10B 11B 12C 13D 14A 15C 16C 17D 18B 19D 20D 21A 22B 23C 24A 二、读程序写出程序执行结果: 1、6 2、WELCOME 3、Sum of the digits in 26587 is 28 4、8 10 12 5、j=81 6、x=8,y=4 7、L A N G U A G E 8、210 9、12,12 10、21 11、32 12、max=10,row=1,colum=2 13、18 14、5,9 15、7 16、查找数组中最大值并记录元素下标 17、x=8,y=4 18、1 4 7 19、ZYXcba 2 5 8 20、5,7 3 6 9 21、5,12,12 22、*2*4*6*8* 三、编程题 1、#include void main() { int x,y; scanf(“%d”,&x); if(x<1) y=x*x; else if(x>=1&&x<=10)y=3*x-1; else y=x/5; printf(“x=%d,y=%d\n”,x,y); } 2.#include #include void main() /*主函数*/ { char c; /*定义变量*/ int m=0,n=0,a=0,b=0; printf("请输入任意字符串.\n"); /*输入提示部分,提示输入*/ while((c=getchar())!='\n') /*循环语句,将由键盘输入的非'\n'字符赋值给c*/ { if((c>=65&&c<=90)||(c>=97&&c<=122)) /*第一个选择语句,统计英文字符个数*/ { m=m+1; } else if(c==32) /*第二个选择语句,统计空格字符的个数*/ { n=n+1; } else if(c>=48&&c<=57) /*第三个选择语句,统计数字字符的个数*/ { a=a+1; } else /*统计其他字符的个数*/ b=b+1; } printf("%d%d%d%d",m,a,n,b); /*输出最后统计结果*/ getch(); /*输出结果后屏幕停留*/ } 3. #include main( ) { int n,i,j; printf(“n=%d\n”); scanf(“%d”,&n); for(i=0;i { for(j=0;j for(j=0;j printf(“\n”); } 《C语言程序设计》考试试卷(答案) 一、填空题(每小空1分,共10分) 1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。 2.一个C程序有且仅有一个main( ) 函数。 3.C语言描述“x和y都大于或等于z”的表达式是x>=z && y>=z。 4.C语言可以用来实现循环的结构化语句是while、do while、for。 5.数组名表示数组在内存的首地址。 6.int a=3,*p=&a;*p+2的值是5。 二、单项选择题(每小题2分,共70分) 1.__B___是C语言合法的常量。 (A).45(B)078 (C)25.6e3.4 (D)‘xy’2.一个程序的执行是从 A 。 (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 (C)本程序的main函数开始,到本程序文件的最后一个函数结束。 (D)本程序文件的第一个函数开始,到main函数结束。 3.以下叙述正确的是 C 。 (A)在C程序中,main函数必须位于程序的最前面。 (B)C程序每行中只能写一条语句。 (C)C语言本是没有输入输出语句。 (D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。 4.以下叙述不正确的是 D 。 (A)逗号运算符的运算级最低。 (B)ABC和abc是两个不同的变量。 (C)若a和b类型相同,在执行a=b后,b的自身值不变。 (D)‘a’和“a”是完全等价的常量。 5.int x=3,y=2;则表达式x+=x*=y+8的值为 C 。 (A)28 (B)30 (C)60(D)17 6.设x=2.7,a=8,y=4.9,算术表达式x+a%3*(int)(x+y)%5/3的值为 B 。 (A)2.7 (B)3.7(C)4.7 (D)4.03 7.执行下面两个语句后,输出的结果为__D___。 char c1=98; printf(“%d %c”,c1,c1-32); (A)97 66 (B)98 b (C)b 66 (D)98 B 8.执行下面语句后的结果为 C 。 y=10;x=y++; (A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11(D)x=11,y=10 9.Char w;int x;float y;double z;则表达式w*x+z-y值的数据类型是A 。 (A)double (B)char (C)int (D)float 10.C语言中要求操作数必须是整数的运算符是 B 。 1 2009年9月全国计算机等级考试二级笔试 试卷 1)下列数据结构中,属于非线性结构的是 A )循环队列 B) 带链队列 C) 二叉树 D )带链栈 2)下列数据结果中,能够按照“先进后出”原则存取数据的是 A) 循环队列 B) 栈 C)队列 D)二叉树 3)对于循环队列,下列叙述中正确的是 A )队头指针是固定不变的 B )队头指针一定大于队尾指针 C )队头指针一定小于队尾指针 D )队头指针可以大于队尾指针,也可以小于队尾指针 4)算法的空间复杂度是指 A )算法在执行过程中所需要的计算机存储空间 B )算法所处理的数据量 C )算法程序中的语句或指令条数 D )算法在执行过程中所需要的临时工作单元数 5)软件设计中划分模块的一个准则是 A) 低内聚低耦合 B) 高内聚低耦合 C) 低内聚高耦合 D) 高内聚高耦合 6)下列选项中不属于结构化程序设计原则的是 A) 可封装 B) 自顶向下 C) 模块化 D) 逐步求精 7)软件详细设计产生的图如下: 该图是 A) N-S 图 B) PAD 图 C) 程序流程图 D) E-R 图 8)数据库管理系统是 A )操作系统的一部分B) 在操作系统支持下的系统软件C) 一种编译系统 D) 一种操作系统 9)在E-R 图中,用来表示实体联系的图形是 A) 椭圆图B) 矩形C) 菱形D) 三角形 10)有三个关系R ,S 和T 如下: 其中关系T 由关系R 和S 通过某种操作得到,该操作为 A) 选择 B) 投影 C) 交 D) 并 11)以下叙述中正确的是 A )程序设计的任务就是编写程序代码并上机 B )程序设计的任务就是确定所用数据结 构 C )程序设计的任务就是确定所用算法 D )以上三种说法都不完整 12)以下选项中,能用作用户标识符的是 A )void B )8_8 C )_0_ D )unsigned 13)阅读以下程序 #include 1、以下正确的说法是( B ) (A) 用户若需要调用标准库函数,调用前必须重新定义 (B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义 (C) 系统根本不允许用户重新定义标准库函数 (D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 2、以下正确的函数声明形式是( A ) (A) double fun(int x, int y) (B) double fun(int x; int y) (C) double fun(int x, int y); (D) double fun(int x,y); 3、以下正确的函数形式是( D ) (A) double fun(int x, int y) { z=x+y; return z;} (B) fun(int x,y) { int z; return z;} (C) fun(x,y) { int x,y; double z; z=x+y; return z;} (D) double fun(int x, int y) { double z; z=x+y; return z;} 4、以下正确的说法是( A ) 在C语言中 (A) 实参和与其对应的形参各占用独立的存储单元 (B) 实参和与其对应的形参共占用一个存储单元 (C) 只有当实参和与其对应的形参同名时才共占用存储单元 (D) 形参是虚拟的,不占用存储单元 5、若调用一个函数,且此函数中没有return语句,则正确的说法是( A ) 该函数 (A) 没有返回值 (B) 返回若干个系统默认值 (C) 能返回一个用户所希望的函数值 (D) 返回一个不确定的值 6、以下不正确的说法是( B ) C语言规定 (A) 实参可以是常量、变量和表达式 (B) 形参可以是常量、变量和表达式 (C) 实参可以为任意类型 (D) 形参应与其对应的实参类型一致 7、以下正确的说法是( C ) (A) 定义函数时,形参的类型说明可以放在函数体内 (B) return后边的值不能为表达式 (C) 如果函数值的类型与返回值类型不一致,以函数值类型为准 (D) 如果形参与实参的类型不一致,以实参类型为准 8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( B ) (A) 地址传递 (B) 单向值传递 (C) 由实参传给形参,再由形参传回给实参 (D) 由用户指定传递方式 C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #include a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include 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语句的作用是结束整个循环的执行 《C 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是() A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中() A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是() A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是() A )x1=26.8%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:floata=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(2 1 的计算结果不.相符的是() A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是() A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue 7.在while (!x )语句中的!x 与下面条件表达式等价的是() A)x!=0B)x==1C)x!=1D)x==0 8、有以下程序: #include C语言全部题目及答案 SANY GROUP system office room 【SANYUA16H- C语言全部题目及答案 Exercise 1: Programming Environment and Basic Input/Output 1.Write a program that prints “This is my first program!” on the screen. (a)Save this program onto your own disk with the name of e2-1a; (b)Run this program without opening Turbo C; (c)Modify this program to print “This is my second program!”, then save it as e2-1b. Please do not overwrite the first program. 2.Write a program that prints the number 1 to 4 on the same line. Write the program using the following methods: (a)Using four “printf” statements. (b)Using one “printf” statement with no conversion specifier(i.e. no ‘%’). (c)Using one “printf” statement with four conversion specifiers 3.(a) Write a program that calculates and displays the number of minutes in 15 days. (b) Write a program that calculates and displays how many hours 180 minutes equal to. (c) (Optional) How about 174 minutes? 单项选择 ================================================== 题号: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 题号:45 能正确表示逻辑关系:" 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 。 while(i<10) { if(i<1) continue 。 if(i==5) break 。 i++ 。 } } A、死循环,不能确定次数 B、6 C、4 D、1 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (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 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。 C语言期末考试题含答 案 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08] 《C 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是( ) A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中( ) A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是( ) A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是( ) A )x1=%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:float a=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(21 的计算结果不. 相符的是( ) A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是( ) A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue 7.在while(!x)语句中的!x与下面条件表达式等价的是() A) x!=0 B) x==1 C) x!=1 D) x==0 8、有以下程序: #include <> void main(){ int i=1,j=1,k=2; if( (j++||k++)&&i++ ) printf(“%d,%d,%d\n”,i,j,k);} 执行后的输出结果是() A)1,1,2B)2,2,1C)2,2,2D)2,2,3 9、有以下程序: #include <> void main(){ int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s);} 程序执行后的输出结果是() A)自然数1~9的累加和B)自然数1~10的累加和 C)自然数1~9中奇数之和D)自然数1~10中偶数之和 10、有以下函数定义: void fun(int n,double x){……} 若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是() A)fun(int y,double m); B)k=fun(10,; C)fun(x,n); D)void fun(n,x); 二、填空题(10x2’=20’) 11、C语言描述“x和y都大于或等于z”的表达式是:。 12、函数定义时涉及的基本要素是:、、。 第一次上机作业(2014): 要求: ?独立完成,上机调试通过后上交 ?作业提交邮箱: ?邮件主题命名:班级学号姓名(第1次作业), 例如:电1301班2王鹏(第1次作业) ?以附件形式将每次作业的所有程序源程序压缩打包后提交,压缩文件命名格式同上。 ?程序必须采用缩进格式 1.大写字母转换成小写字母 从键盘输入一个大写英文字母,输出相应的小写字母。 例:输入G 输出g 2.求平方根 输入一个实数x,计算并输出其平方根(保留1 位小数)。 例:输入17 输出The square root of 17.0 is 4.1 3.温度转换 设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32) a)输入华氏温度(实型) b)输出的摄氏温度结果保留两位小数 例:Please input Fahrenheit temperature: 76.8 The corresponding Celsius temperature is 24.89 4. 计算旅途时间 输入二个整数time1 和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 (输入的有效的时间范围是0000 到2359,不需要考虑出发时间晚于到达时间的情况。) 例:输入712 1411 (出发时间是7:12,到达时间是14:11) 输出The train journey time is 6 hours 59 minutes. 5. 数字加密 输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。 例:输入1257 输出The encrypted number is 4601 思考题:你能否编程找出谁做的好事? 有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。 ?A说:不是我。 ?B说:是C。 ?C说:是D。 ?D说:他胡说。 已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。 第二次上机作业(2014): 要求: ?独立完成,程序必须采用缩进格式,上机调试通过后上交 一、单项选择题 1. 软件危机具有下列表现( d )。 I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住 III. 软件常常不可维护IV. 软件成本逐年上升 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( A )。 A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段 3. 下列属于软件的特点的是(D )。 A. 软件是一种逻辑实体,具有抽象性 ~ B. 软件在使用过程中没有磨损、老化的问题 C. 软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高 D. 以上都正确 4. 软件工程的出现是由于(D )。 A. 软件危机的出现 B. 计算机硬件技术的发展 C. 软件社会化的需要 D. 计算机软件技术的发展 5. 软件开发技术不包含( d )。 A. 软件开发方法学 B. 软件工程环境 C. 软件工具 D. 软件质量度度量 6. 软件工程的课程特点( D )。 【 I. 学科理论及其知识应用的多维性 II. 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 7. 下列属于应用软件的是( b )。 I. 计算机辅助教学软件II. 软件测试工具 III. 办公自动化软件IV. 工程与科学计算软件 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 8. 需求分析阶段最重要的技术文档是( b )。 - A. 设计说明书 B. 需求规格说明书 C. 可行性分析报告 D. 用户手册 9. 以下关于数据流图的说法错误的是( c )。 A. 数据流图舍去了具体的物质,只剩下数据的流动、加工处理和存储 B. 数据流图是用作结构化分析的一种工具 C. 传统的数据流图中主要由加工、数据源点/终点、数据流、控制流、数据存储组成 D. 数据流图的绘制采用自上向下、逐层分解的方法 10. 数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( c )。 A. 数据库设计 B. 数据通信 C. 数据定义 D. 数据维护 11. 需求分析阶段的研究对象是( b )。 ¥ A. 系统分析员要求 B. 用户要求 C. 软硬件要求 D. 系统要求 12. 结构化方法的基本原则是( b )。 A. 模块化 B. 抽象与分解 C. 信息隐蔽 D. 逐步求精 13. 耦合度最高的是(b)耦合。 A. 环境 B. 内容 C. 控制 D. 数据 14. 内聚程度较低的是( a )内聚。 A. 偶然 B. 通讯 C. 顺序 D. 时间 15. 对一个程序来说,组成系统的模块数目( b ),则开发成本越小。 A. 越多 B. 越少 C. 顺序 D. 时间> 16. 画软件结构图时应注意调用关系只能是(B )。 A. 从下到上 B. 从上到下 C. 从左到右 D. 从右到左 17. 程序流程图中的箭头代表( b )。 A. 数据流 B. 控制流 C. 顺序流 D. 调用 18. 软件测试是软件质量保证的重要手段,下述( 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语言试题及答案 Company number【1089WT-1898YT-1W8CB-9UUT-92108】 第1章C语言概述习题1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (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 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言 的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。 C语言上机考试题—01 1. //#include 一、单项选择题:(10分,每题2分) 1.char *p[10];该语句声明了一个: c 。 A)指向含有10个元素的一维字符型数组的指针变量p B)指向长度不超过10的字符串的指针变量p C)有10个元素的指针数组p,每个元素可以指向一个字符串 D) 有10个元素的指针数组p,每个元素存放一个字符串 2.若int x;且有下面的程序片断,则输出结果为: D 。 for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "**%d\n", x); } A) ##3B) **3C) **3D)##3**4 **4 ##4 ##4**5 ##5 ##5 **5 3.在while(!x)语句中的!x与下面条件表达式等价的是:D 。 A) x!=0 B) x==1 C) x!=1 D) x==0 4.已知 struct point { int x; int y; }; struct rect { struct point pt1; struct point pt2; }; struct rect rt; struct rect *rp = &rt; 则下面哪一种引用是不正确的__D______。 A) r t.pt1.x B) (*rp).pt1.x C) r p->pt1.x D) rt->pt1.x 5.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为: C 。 A) *(a+j*n+i) B) *(a+i*n+j) C) *(*(a+i)+j) D) *(*a+i)+j CDDDC 二、分析程序并写出运行结果。(25分,每题5分) 1. #include C语言试卷及答案
历年二级C语言笔试真题及答案
c语言试题及答案
C语言考试题库及答案复习整理
(完整版)C语言试题及答案解析
C语言期末考试题(含答案)
C语言全部题目及答案
大学C语言考试题库(含标准答案)
c语言试题及答案 ()
C语言期末考试题含答案
C语言上机作业试题5套含答案
C语言试题及答案
c语言期中考试试题及答案
C语言试题及答案
C语言期末上机考试题及答案
C语言考试题及答案