c语言试题及答案
1. 二进制语言是属于()
A.面向机器语言
B.面向过程语言
C.面向问题语言
D.面向汇编语言
2. 关于指针运算符“*”,下列说法中错误的是()
A.是单目前缀运算符
B.运算对象只能是指针变量
C.运算结果是运算对象对应的变量或数组元素等
D.运算结合律是自右向左的
3. 字符串“ABC”在内存占用的字节数是( )
A.3 B.4 C.6 D.8
4. 不属于高级语言的计算机语言是()
A.BASIC语言B.C语言C.ALGOL语言D.符号语言
5.下列给出的符号串中,不能作为C语言标识符的是( )
A.a_2 B._2a C._a2 D.2_a
6.设有定义语句:char s[12]={“string”}; 则printf (“%d\n”,strlen (s));的输出是( ) A.6 B.7 C.11 D.12
7.执行语句“x=(a=3,b=a--)”后,x,a ,b的值依次为( )
A.3,3,2 B.3,2,2 C.3,2,3 D.2,3,2
8. 设整型变量m,n,a,b的值均为1,执行“(m=a>b)&&(n=a>b)”后m,n的值是()
A. 0,0
B. 0,1
C. 1,0
D. 1,1
9. 属于C语言字符集中可显示字符的是()
A.\
B.\n
C.\t
D.\b
10. 设有下列结构及其变量的定义,能正确引用该结构型成员的选项是()
struct { int x[5];} x1,*p=&x1;
A.x1[0] B.x1[0].x C.p->x1[0] D.p->x[0]
11. 设有int i=010, j=10; 则printf (“%d,%d\n”, ++i , j--); 的输出是( )
A.11,10 B.9 ,10 C.010,9 D.10,9
12. 下列给出的符号串中,不属于C语言保留字的是()
A.switch B.cher C.case D.else
13.设整型变量i的值为3,则表达式i---i的值为( )
A.0 B.1 C.2 D.3
14.关于系统函数strcpy (x1,x2,x3)的下列说法中错误的是( )
A.函数中的参数x3是可以省略的
B.函数的基本功能是将字符串x2中的前x3个字符组成的字符串复制到字符数组x1中C.x1可以是数组名
D.x2必须是存放字符串的字符数组名,不能是字符串
15.设a=1 , b=2 , c=3 , d=4 ,则表达式:a
A.4 B.3 C.2 D.1
16. 在C语言中,结果不等于4的表达式是()
A. sizeof( double )
B. sizeof( long )
C. sizeof( float )
D. sizeof( unsigned long)
17. 在PC机中,′\n′在内存占用的字节数是()
A. 1
B. 2
C. 3
D. 4
18. 若有以下定义语句: char a; int b; float c; double d;则表达式a*b+d-c的值的
类型为()
A. float
B. int
C. char
D. double
19.在C语言中,下列说法中正确的是( )
A.不能使用“do语句;whlie (表达式);”实现循环结构
B.“do语句;whlie (表达式);”的循环必须使用“break”语句退出循环
C.“do语句;whlie (表达式);”的循环中,当表达式为非0时将结束循环
D.“do语句;whlie (表达式);”的循环中,当表达式为0时将结束循环
20.设有数据定义语句“int i, j=7, *p=&i;”,则与“i=j;”等价的是( )
A.j=*p B.*p=*&j; C.i=&j; D.i=&p;
21.表达式“10!=9“的值是( )
A.true B.非零值C.0 D.1
22. 设有宏定义“#define R 2+3”, 则R*R的宏替换结果正确的是()
A.(2+3)*(2+3)B.2+3*2+3 C.5*5 D.5.0*5.0
23.若有以下数据定义语句,则数值为4的表达式是( )
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c=?a?, d, g ;
A.a[g-c] B.a[4] C.a[…d?-…c?] D.a[…d?-c]
24.关于使用方式,下列说法中正确的是()
A.选用“r”,文件必须存在
B.选用“r+”,文件可以不存在
C.选用“w”,文件必须存在
D.选用“w+”,文件必须存在
25. 设 a=3, b=4, 执行语句“printf(“%d,%d”,(a,b), (b,a));”的输出是()
A.3 ,4
B. 4, 3
C.3, 3
D.4, 4
26.不属于面向机器语言的是()
A.符号语言B.二进制语言C.汇编语言D.C语言
27. 设有数据定义语句“int a=3, b, *p=&a;”,则下列选项中使b不为3的是( )
A.b=*&a; B.b=*p; C.b=a; D.b=*a;
28. 设x,y,z,t均为int型变量,则执行下列语句串后,变量t 的值为()
x=y=z=0; if(x=y) t=z; else t=! z;
A.不定值B.2 C.1 D.0
29.设整型变量m1 值为3、m2值为2、m3值为1,执行下列语句后,整型变量m4值是( )
Switch (m1=m2= =m3+1)
{case 1: m4=1; break;
Case3: m4=3;berak;
Case2:m4=2;break;
Default; m4=4;
A.1 B.2 C.3 D.4
30.若有以下的定义,则值为3的表达式是( )
int a[]={1,2,3,4,5,6,7,8,9,10}, *p=a;
A.p+=2,*(p++) B.p+=2,*++p
C.p+=3,*p++ D.p+=2,++*p
31.若有如下定义和语句,则输出结果是( )
int *p,a=10,b=20;
p=&a;p=&b;printf(“%d,%d\n”, *p,*p);
A.10,20 B.10,10 C.20,10 D.20,20
32. 以下说法中正确的是()
A. continue 只能在循环体中使用
B. break 只能在循环体中使用
C.break 不能在循环体中使用
D.break 只能在switch 语句中使用33.关于给一维数组元素赋初值,下列说法中错误的是()
A.在一个数据定义语句中,可以给所有数组赋初值,也可以只给一部分数组赋初值 B.可以给一维数组的全部元素赋初值,也可以只给前面的部分元素赋初值
C.对某个一维数组的前若干个元素赋初值,后面的未赋初值的元素无初值
D.对某个一维数组的所有元素赋初值,数组的长度可以省略
34. 执行下列程序段,则输出结果是()
#include
char *p =“ABC”;
printf(“%d”, strlen(p) +*p);
A.语句错误
B.输出3
C.输出4
D.输出68
35.设有如下定义语句,则正确叙述为( )
Char x[ ]={“abcdef” } ; char y[ ] = {…a?,?b?,?c?,?d?,?e?,?f?,?g?};
A.数组x和数组y等价B.数组x和数组y的长度相同
C.数组x的长度大于数组y的长度D.数组x的长度小于数组y的长度
36.设有循环语句“for (i=-1;i<4;i++) i++;”,其循环体执行的次数是( ) A.无限次B.0 C.3 D.4
37.下列语句中,错误的是( )
A.while (x=y) 5; B.do x++ while(x= =10);
C.whlie (0); D.do2;whlie(a= =b);
38.下列数据定义语句中,正确的是()
A.char a[3][ ]={…abc?,?1?};
B.char a[ ][3 ]={…abc?,?1? };
C.char a[3][ ]={…a?,”1” };
D.char a[ ][3 ]={“a”,”1” };
39. 设有下列定义,正确的赋值表达式是( )
struct a {char s[10]; int x; float y[3];}b[2],*p;
char pc; int pi; float pf;
A.p=s B.pc=&s[0] C.pi=b[0] .x D.pf=&b.y[0]
40. 下列选项中,不是转义字符的是()
A .\\
B .\?
C .074
D .\0
41.以下叙述正确的是 ( )
A . do-while 语句构成的循环不能用其它语句构成的循环来代替
B . do-while 语句构成的循环只能用break 语句退出
C . 用do-while 语句构成的循环,在while 后的表达式为非零时结束循环
D . 用do-while 语句构成的循环,在while 后的表达式为零时结束循环
42.有如下程序
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\n" ,a,b);
}
该程序的输出结果是 ( )
A . a=2,b=1
B .a=1,b=1
C . a=1,b=0
D . a=2,b=2
43.若变量c 为char 类型,能正确判断出c 为小写字母的表达式是( )
A .'a'<=c<= 'z'
B .(c>= 'a')||(c<= 'z')
C .('a'<=c)and ('z'>=c)
D .(c>= 'a')&&(c<= 'z')
44.t 为int 类型,进人下面的循环之前,t 的值为0
while( t=l )
{ ……}
则以下叙述中正确的是( )
A .循环控制表达式的值为0
B .循环控制表达式的值为1
C .循环控制表达式不合法
D .以上说法都不对
45.以下程序的输出结果是( )
main()
{ int a=4,b=5,c=0,d;
d=!a&&!b||!c;
printf("%d\n",d);
}
A .1
B .0
C .非0的数
D .-1
46.与数学式子1
23 x x n
对应的C 语言表达式是( ) A .3*x^n/(2*x-1) B .3*x**n/(2*x-1)
C .3*pow(x,n)*(1/(2*x-1))
D .3*pow(n,x)/(2*x-1)
47.下列关于单目运算符++、--的叙述中正确的是( )
A .它们的运算对象可以是任何变量和常量
B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量D.它们的运算对象可以是char型变量、int型变量和float型变量
48.设有如下程序段:
int x=2002, y=2003;
printf("%d\n",(x,y));
则以下叙述中正确的是( )
A.输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B.运行时产生出错信息
C.输出值为2002 D.输出值为2003
49.下列程序执行后的输出结果是()
A.G B.H C. I D. J
main()
{ int x='f'; printf("%c \n",'A'+(x - 'a'+1)); }
50.有以下程序
main()
{ int s=0,a=1,n;
scanf("%d",&n);
do
{ s+=1; a=a-2; }
while(a!=n);
printf("%d\n",s);
}
若要使程序的输出值为 2,则应该从键盘给n输入的值是( )
A.-1 B.-3 C.-5 D.0
51.有以下程序段
int m=0,n=0; char c='a';
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若从键盘上输入:10A10<回车>,则输出结果是( )
A.10,A,10 B.10,a,10 C.10,a,0 D.10,A,0
52.设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是( ) A.printf("x=%d\n",x); B.printf("x=%ld\n",x);
C.printf("x=%8dL\n",x); D.printf("x=%LD\n",x);
53.以下程序段的输出结果是( )
char s[]="\\141\141abc\t";
printf ("%d\n",strlen(s));
A.9 B.12 C.13 D.14
54.以下程序的输出结果是()
main()
{ int num= 0; while(num<=2) { num++; printf("%d\n",num);}}
A.1 B.1 C.1 D.l
2 2 2
3 3
4
55.以下程序的输出结果是( )
A.0 B.29 C.31 D.无定值
fun(int x, int y, int z)
{ z=x*x+y*y; }
main()
{ int a=31; fun(5,2,a); printf("%d",a);}
56.有如下程序
main( )
{ float x=2.0, y;
if(x<0.0) y=0.0;
else if(x<10.0) y=1.0/x;
else y=1.0;
printf("%f\n",y);
}
该程序的输出结果是()
A. 0.000000 B. 0.250000 C. 0.500000 D. 1.000000 57.执行下面的程序段后,变量k中的值为()
A.不定值 B. 33 C. 30 D.10
int k=3, s[2];
s[0]=k; k=s[1]*10;
58.有如下程序
main( )
{int a=2,b= -1,c=2;
if(a
if(b<0) c=0;
else c++ ;
printf("%d\n",c);
}
该程序的输出结果是()
A. 0 B. 1 C. 2 D. 3
59.下列程序段的输出结果是( )
A.2 1 4 3 B.1 2 1 2 C.1 2 3 4 D.2 1 1 2
void fun(int *x, int *y)
{ printf("%d %d", *x, *y); *x=3; *y=4;}
main()
{ int x=1,y=2; fun(&y,&x); printf("%d %d",x, y);}
60.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()A.地址传递B.单向值传递
C.由实参传给形参,再由形参传回实参D.传递方式由用户指定
61.以下程序的输出结果是( )
main()
{ char ch[3][5]={"AAAA","BBB","CC"};
printf("\"%s\"\n",ch[1]);
}
A."AAAA" B."BBB" C."BBBCC" D."CC"
62.若有以下程序:
main()
{int k=2,i=2,m;
m=(k+=i*=k); printf("%d,%d\n",m,i);
}
执行后的输出结果是( )
A.8,6 B.8,3 C.6,4 D.7,4
63.有以下程序
main()
{ int i=1,j=1,k=2;
if((j++||k++)&&i++) printf("%d,%d,%d\n",i,j,k);
}
执行后输出的结果是( )
A.1,1,2 B.2,2,1 C.2,2,2 D.2,2,3
64.有以下函数定义:
void fun(int n, double x) { …… }
若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( )
A.fun(int y,double m); B.k=fun(10,12.5);
C.fun(x,n); D.void fun(n,x);
65.下列程序执行后的输出结果是()
A. 6 B.7 C.8 D. 9
void func(int *a,int b[])
{ b[0]=*a+6; }
main()
{ int a,b[5];
a=0; b[0]=3;
func(&a,b); printf("%d \n",b[0]);
}
66.有以下程序
#include
main()
{ printf("%d\n",NULL ); }
程序运行后的输出结果是( )
A.0 B.1 C.-1 D.NULL没定义,出错
67.有以下程序
. main()
{ int p[7]={11,13,14,15,16,17,18},i=0,k=0;
while(i<7&&p[i]%2){k=k+p[i]; i++;}
printf("%d\n",k);
}
执行后输出的结果是( )
A.58 B.56 C.45 D.24
68.以下选项中,与k=n++完全等价的表达式是( )
A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+1
69.在C语言中,形参的缺省存储类是( )
A.auto B.register C.static D.extern
70.以下函数值的类型是()
fun ( float x )
{ float y; y= 3*x-4; return y; }
A.int B.不确定C.void D.float
71.下面程序的输出结果是( )
A.0 B.1 C.10 D.9
main()
{ int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p;
p=a;
printf("%d\n",*p+9);
}
72.有如下程序
main( )
{ int i,sum;
for(i=1;i<=3;sum++) sum+=i;
printf("%d\n",sum);
}
该程序的执行结果是()
A. 6 B. 3 C.死循环D. 0
73. 下列程序的运行结果是()
A. a=%2,b=%5 B. a=2,b=5
C. a=d, b=d D. a=%d,b=%d
#include
main()
{ int a=2,c=5; printf("a=%d,b=%d\n",a,c); }
74.有如下程序
main( )
{ int x=23;
do
{ printf("%d" ,x--);}
while(!x);
}
该程序的执行结果是()
A. 321 B. 23 C.不输出任何内容D.陷入死循环75.当调用函数时,实参是一个数组名,则向函数传送的是( ) A.数组的长度B.数组的首地址
C.数组每一个元素的地址D.数组每个元素中的值
76.设有以下函数:
f ( int a)
{ int b=0;
static int c = 3;
b++; c++;
return(a+b+c);
}
如果在下面的程序中调用该函数,则输出结果是()
main()
{ int a = 2, i;
for(i=0;i<3;i++) printf("%d\n",f(a));
}
A.7 B.7 C.7 D.7
8 9 10 7
9 11 13 7
77.以下程序的输出结果是( )
main()
{ char x=040;
printf("%o\n",x<<1);
}
A.100 B.80 C.64 D.32
78.有以下程序段
int n=0,p;
do {scanf("%d",&p);n++;} while(p!=12345&&n<3);
此处do-while循环的结束条件是( )
A.p的值不等于12345并且n的值小于3
B.p的值等于12345并且n的值大于等于3
C.p的值不等于12345或者n的值小于3
D.p的值等于12345或者n的值大于等于3
79.有以下程序
main()
{ int i=10,j=1;
printf("%d,%d\n",i--,++j);
}
执行后输出的结果是( )
A.9,2 B.10,2 C.9,1 D.10,1 80.已定义c为字符型变量,则下列语句中正确的是( )
A.c='97'; B.c="97" C.c=97; D.c="a";
81. 下列程序执行后的输出结果是()
A. 3 B. 6 C. 9 D.随机数 main()
{ int a[3][3], *p,i;
p=&a[0][0];
for(i=0; i<9; i++) p[i]=i+1;
printf("%d \n",a[1][2]);
}
82.以下能正确定义一维数组的选项是( )
A.int num[]; B.#define N 100
int num[N];
C.int num[0..100]; D.int N=100;
int num[N];
83.有以下程序
main()
{ char a,b,c,*d;
a='\'; b='\xbc';
c='\0xab'; d="\0127";
printf("%c%c%c%c\n",a,b,c,*d);
}
编译时出现错误,以下叙述中正确的是( )
A.程序中只有a='\';语句不正确B.b='\xbc';语句不正确
C.d="\0127";语句不正确D.a='\';和c='\0xab';语句都不正确84.若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是( ) A.p=q; B.*p=*q; C.n=*q; D.p=n;
85.若有下面的说明和定义:
struct test
{ int ml; char m2; float m3;
union uu {char ul[5]; int u2[2];} ua;
} myaa;
则sizeof(struct test )的值是( )
A.16 B.14 C.12 D.9
86.以下程序的输出结果是()
main()
{ char c='z';printf("%c",c-25);}
A.a B.Z C.z-25 D.y
87.设有以下说明语句
struct ex
{ int x ; float y; char z ;} example;
则下面的叙述中不正确的是( )
A.struct结构体类型的关键字B.example是结构体类型名
C.x,y,z都是结构体成员名D.struct ex是结构体类型
88.有如下程序
main( )
{ int n=9;
while(n>6) {n--;printf("%d" ,n);}
}
该程序段的输出结果是()
A. 987 B. 876 C. 8765 D.9876
89. 下列程序的输出结果是()
A. 4 B. 6 C. 8 D. 10 int b=2;
int func(int *a)
{ b += *a; return(b);}
main()
{ int a=2, res=2;
res += func(&a);
printf("%d \n",res);
}
90.有如下程序
int func(int a, int b)
{ return(a+b);}
main( )
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%d\n" ,r);
}
该程序的输出的结果是()
A. 12 B. 13 C. 14 D. 15
91.以下只有在使用时才为该类型变量分配内存的存储类说明是( ) A.auto和static B.auto和register
C.register和static D.extern和register
92.以下选项中,非法的字符常量是()
A.'\t' B.'\17' C."\n" D.'\xaa'
93.若有以下定义和语句:
int s[4][5],(*ps)[5];
ps=s;
则对s数组元素的正确引用形式是( )
A.ps+1 B.*(ps+3) C.ps[0][2] D.*(ps+1)+3
94.有以下程序
float fun(int x,int y)
{return(x+y); }
main()
{ int a=2,b=5,c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c));
}
程序运行后的输出结果是( )
A.编译出错B.9 C.21 D.9.0
95.有以下程序
main()
{ char *s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
}
执行后输出结果是( )
A.n,two B.t,one C.w,one D.o,two 96.下列选项中正确的语句组是( )
A.char s[8]; s={"Beijing"}; B.char *s; s={"Bei jing"};
C.char s[8]; s="Beijing"; D.char *s; s="Beijing";
97. 下面程序的输出结果是()
A.4 B. 2 C. 1 D. 0 main()
{ int i, j, m=0, n=0;
for(i=0; i<2; i++)
for(j=0; j<2; j++)
if(j>=i) m=1; n++;
printf("%d \n",n);
}
98.已定义以下函数
fun(int *p)
{ return *p; }
该函数的返回值是( )
A.不确定的值B.形参p中存放的值
C.形参p所指存储单元中的值D.形参p的地址值
99.有以下程序
main()
{ int x[8]={8,7,6,5,0,0},*s;
s=x+3;
printf("%d\n",s[2]);
}
执行后输出结果是( )
A.随机值B.0 C.5 D.6
100.有以下程序
main()
{char a[]={'a','b','c','d','e','f','g','h','\0'}; int i,j;
i=sizeof(a); j=strlen(a);
printf("%d,%d\n",i,j);
}
程序运行后的输出结果是( )
A.9,9 B.8,9 C.1,8 D.9,8
101.以下程序的输出结果是( )
main()
{ int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;
for(i=0;i<3;i++)
for(j=i;j<=i;j++) t=t+b[i][b[j][j]];
printf("%d\n",t);
}
A.9 B.4 C.3 D.1
102.若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是()A.i=*p; B.*p=*&j; C.i=&j; D.i=**p;
103.以下程序的输出结果是( )
A.1,5,9 B.1,4,7 C.3,5,7 D.3,6,9
main()
{ int i, x[3][3]={1,2,3,4,5,6,7,8,9};
for (i=0;i<3;i++) printf("%d,",x[i][2-i]);
}
104.对于基类型相同的两个指针变量之间,不能进行的运算是()A. < B. = C. + D. -
105. 下列程序的输出结果是()
A. 5 B. 6 C. 7 D. 8 struct abc
{ int a, b, c; };
main()
{ struct abc s[2]={{1,2,3},{4,5,6}}; int t;
t=s[0].a+s[1].b;
printf("%d \n",t);
}
106.有如下程序
long fib (int n)
{ if(n>2) return (fib(n-1)+fib (n-2));
else return(2);
}
main()
{printf("%1d\n",fib(3));}
该程序的输出结果是()
A. 2 B.4 C. 6 D. 8
107.以下程序的输出结果是( )
A.18 B.19 C.20 D.21
main()
{ int a[3][3]={ {1,2},{3,4},{5,6} },i,j,s=0;
for(i=1; i<3; i++)
for(j=0;j<=i;j++)s+=a[i][j];
printf("%d\n",s);
}
108.以下程序的输出结果是()
main()
{ int i, a[10];
for(i=9;i>=0; i--) a[i]=10-i;
printf("%d%d%d",a[2],a[5],a[8]); }
A.258 B.741 C.852 D.369
109.以下程序的输出结果是( )
#include
#include
main()
{ char b1[8]="abcdefg",b2[8],*pb=b1+3;
while (--pb>=b1) strcpy(b2,pb);
printf("%d\n",strlen(b2));
}
A.8 B.7 C.3 D.1
110.有以下程序
#include
main()
{char *p="abcde\0fghjik\0";
printf("%d\n",strlen(p));
}
程序运行后的输出结果是( )
A.12 B.15 C.6 D.5
111.以下能正确定义数组并正确赋初值的语句是( )
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},{3 4}};
112.若有定义:int *p[3];,则以下叙述中正确的是( )
A.定义了一个基类型为int的指针变量p,该变量具有三个指针
B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针C.定义了一个名为*p的整型数组,该数组含有三个int类型元素
D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素113. 若有定义: float w; int a, b; 则合法的switch语句是()
A. switch(w) B. switch(a);
{ case 1.0: printf("*\n"); { case1 printf("*\n");
case 2.0: printf("**\n"); case2 printf("**\n");
} }
C.switch(b) D. switch(a+b);
{ case 1: printf("*\n"); { case 1: printf("*\n");
default: printf("\n"); case 2: printf("**\n");
case 1+2: printf("**\n"); default: printf("\n");
} }
114.若fp已正确定义并指向某个文为件,当未遇到该文件结束标志时函数feof(fp)的值( ) A.0 B.1 C.-1 D.一个非0值
115.以下叙述中正确的是( )
A.全局变量的作用域一定比局部变量的作用域范围大
B.静态(static)类别变量的生存期贯穿于整个程序的运行期间
C.函数的形参都属于全局变量
D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值
116.有以下程序
int a=3;
main()
{int s=0;
{int a=5; s+=a++; }
s+=a++; printf("%d\n",s);
}
程序运行后的输出结果是( )
A.8 B.10 C.7 D.11
117.在说明语句:int *f();中,标识符f代表的是( )
A.一个用于指向整型数据的指针变量
B.一个用于指向一维数组的行指针
C.一个用于指向函数的指针变量
D.一个返回值为指针型的函数名
118.以下程序的输出结果是()
main()
{ int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);
}
A.0650 B.1470 C.5430 D.输出值不定
119.假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROG ABCDEFGH IJKL<回车>,则输出结果为( ) A.ABCDEFG B.IJHL C.ABCDEFGHIJKL D.IJKLABCDEFGH main( int argc, char *argv[ ] )
{ while(--argc>0) printf("%s",argv[argc] );
printf("\n");
}
120.有如下程序段
int a=14,b=15,x;
char c='A';
x=(a&&b)&&(c<'B');
执行该程序段后,x的值为()
A.true B.false C.0 D.1
121. 以下选项中合法的字符常量是()
A."B" B.'\010' C.68 D.D
122.若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、
c 的语句是()
A.scanf("%d%d%d",&a,&b,d); B.scanf("%d%d%d",&a,&b,&d);
C.scanf("%d%d%d",a,b,d); D.scanf("%d%d%d",a,b,*d);
123.以下选项中合法的用户标识符是( )
A.long B._2Test C.3Dmax D.A.dat
124.下列叙述中正确的是()
A.C语言中既有逻辑类型也有集合类型
B.C语言中没有逻辑类型但有集合类型
C.C语言中有逻辑类型但没有集合类型
D.C语言中既没有逻辑类型也没有集合类型
125.有以下程序
main()
{ int a=1,b=2,m=0,n=0,k;
k=(n=b>a)||(m=a
printf("%d,%d\n",k,m);
}
程序运行后的输出结果是( )
A.0,0 B.0,1 C.1,0 D.1,1
126.以下叙述正确的是( )
A.do-while语句构成的循环不能用其它语句构成的循环来代替
B.do-while语句构成的循环只能用break语句退出
C.用do-while语句构成的循环,在while后的表达式为非零时结束循环
D.用do-while语句构成的循环,在while后的表达式为零时结束循环
127.有如下程序
main( )
{ float x=2.0,y;
if(x<0.0) y=0.0;
else if(x<10.0) y=1.0/x;
else y=1.0;
printf("%f\n" ,y);
}
该程序的输出结果是 ( )
A.0.000000 B.0.250000 C.0.500000 D.1.000000 128.下列程序段的输出结果是( )
A.2 1 4 3 B.1 2 1 2 C.1 2 3 4 D.2 1 1 2
void fun(int *x, int *y)
{ printf("%d %d", *x, *y); *x=3; *y=4;}
main()
{ int x=1,y=2;
fun(&y,&x);
printf("%d %d",x, y);
}
129.若变量a是int类型,并执行了语句:a='A'+1.6;,则正确的叙述是()A.a的值是字符C B.a的值是浮点型
C.不允许字符型和浮点型相加D.a的值是字符'A'的ASCII值加上1 130.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( )
A.地址传递B.单向值传递
C.由实参传给形参,再由形参传回实参D.传递方式由用户指定131.以下程序的输出结果是( )
A.0 B.29 C.31 D.无定值
fun(int x, int y, int z)
{ z=x*x+y*y; }
main()
{ int a=31;
fun(5,2,a);
printf("%d",a);
}
132.有如下程序
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\n",a,b);
}
该程序的输出结果是( )
A.a=2,b=1 B.a=1,b=1 C.a=1,b=0 D.a=2,b=2 133.以下循环体的执行次数是( )
A.3 B.2 C.1 D.0
main()
{ int i,j;
for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);
}
134.以下选项中非法的表达式是()
A.0<=x<100 B.i=j==0
C.(char)(65+3) D.x+1=x+1
135.在一个C语言程序中( )
A.main函数必须出现在所有函数之前
B.main函数可以在任何地方出现
C.main函数必须出现在所有函数之后
D.main函数必须出现在固定位置
136.以下选项中合法的实型常数是()
A.5E 2.0 B.E-3 C. .2E0 D.1.3E
137. 以下叙述中正确的是()
A.构成C程序的基本单位是函数
B.可以在一个函数中定义另一个函数
C. main()函数必须放在其它函数之前
D.所有被调用的函数一定要在调用之前进行定义
138.C语言中用于结构化程序设计的三种基本结构是()A.顺序结构、选择结构、循环结构
B.if、switch、break
C.for、while、do-while
D.if、for、continue
139.有以下程序
main()
{ int a; char c=10;
float f=100.0; double x;
a=f/=c*=(x=6.5);
printf("%d %d %3.1f%3.1f\n",a,c,f,x);
}
程序运行后的输出结果是( )
A.1 65 1 6.5 B.1 65 1.5 6.5
C.1 65 1.0 6.5 D.2 65 1.5 6.5
140.与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是()A.if (x>0) y=1; B.if(x)
else if(x<0)y=-1; if(x>0)y=1;
else y=0; else if(x<0)y=-1;
else y=0;
C.y=-1 D.y=0;
if(x) if(x>=0)
if(x>0)y=1; if(x>0)y=1;
else if(x==0)y=0; else y=-1;
else y=-1;
141.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是( ) A.a>=10 or a<=0 B.a>=0|a<=10
C.a>=10 &&a<=0 D.a>=10‖a<=0
142.若变量c为char类型,能正确判断出c为小写字母的表达式是( ) A.'a'<=c<= 'z' B.(c>= 'a')||(c<= 'z')
C.('a'<=c)and ('z'>=c) D.(c>= 'a')&&(c<= 'z') 143.以下程序的输出结果是( )
main()
{ int num= 0;
while(num<=2)
{ num++; printf("%d\n",num);}
}
A.1 B.1 C.1 D.l
2 2 2
3 3
4
144.以下程序的输出结果是( )
main()
{ char ch[3][5]={"AAAA","BBB","CC"};
printf("\"%s\"\n",ch[1]);}
A."AAAA" B."BBB" C."BBBCC" D."CC"
145.以下叙述中正确的是()
A.C语言比其他语言高级
B.C语言可以不用编译就能被计算机识别执行
C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C语言出现得最晚,具有其他语言的一切优点
146.若有以下程序:
main()
{int k=2,i=2,m;
m=(k+=i*=k); printf("%d,%d\n",m,i);
}
执行后的输出结果是( )
A.8,6 B.8,3 C.6,4 D.7,4
147.以下程序段的输出结果是( )
char s[]="\\141\141abc\t";
printf ("%d\n",strlen(s));
A.9 B.12 C.13 D.14
148.t为int类型,进人下面的循环之前,t的值为0
while( t=l )
{ ……}
则以下叙述中正确的是( )
A.循环控制表达式的值为0 B.循环控制表达式的值为1 C.循环控制表达式不合法D.以上说法都不对
149.有以下程序段
int x=3;
do
{ printf("%d",x-=2); }
C语言试卷及答案
《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 。
历年二级C语言笔试真题及答案
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
c语言试题及答案
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语言考试题库及答案复习整理
C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #include
a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include
(完整版)C语言试题及答案解析
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语言期末考试题(含答案)
《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语言全部题目及答案
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?
大学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 题号: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
c语言试题及答案 ()
第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语言期末考试题含答案
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、函数定义时涉及的基本要素是:、、。
C语言上机作业试题5套含答案
第一次上机作业(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): 要求: ?独立完成,程序必须采用缩进格式,上机调试通过后上交
C语言试题及答案
一、单项选择题 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语言期中考试试题及答案
《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语言试题及答案
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语言期末上机考试题及答案
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语言考试题及答案