C语言复习题,模拟题 下载本文

void main()

{

int total=0, mc=1, k=500; int pm[10],count=0;

while( (k>=2) && mc<=10 ) {

if ((k==0) || (k==0)) {

pm[mc] = k; mc++; } k--; }

for( k=1;k<=10;k++ ) total += pm[k-1];

printf(\ }

(如果文本被遮住,请移动右边的滚动条。)

程序填空题 注意:

1.该源程序放在: d:\\ExamProg\\033\\test2.c

2.编译该程序时,请首先将程序中开头的功能说明注释掉或删除!

3.程序功能说明及源程序如下:

/*求200到1000之间的双胞胎数的对数。双胞胎数:两素数差为2称为双胞胎数。例如227和229是一对双胞胎数,它们都是素数且差为2。*/ #include int prime(int x) {

int k;

for(k=2;k

if(_____x%k==0_____) break; if(k==x) return 1; else return 0; }

void main( ) { int a,b,n=0;

int prime(int x); for(a=200;a<=998;a++) {

改为mc-1

if(prime(a)==1) { b=a+2;

if(______prime(b)==1___) n++; } }

printf(\

}

(如果文本被遮住,请移动右边的滚动条。)

2.一个C程序是由若干个函数构成的,其中有且只能有一个(主函数 )

3.在C语言中,下列哪项是合法的标识符: 4.算法具有五个特性,以下选项中不属于算法特性的是

5.下列哪一个选项不是结构化程序的基本结构:顺序结构,选择结构,循环结构 6.下列选项中,哪一个不是C

语言的关键字?( )

7.构成C语言源程序的基本单位是:函数

8.char c1=97, c2=98; printf(\在C语言中,执行以上两个语句后,输出为 9.设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a,b和c的值分别是

10.以下不是C语言的特点的是

11.在C语言中,假定所有变量均已正确定义,下列程序段运行后x的值是。 A=b=c=0;x=156; if(!A) x=234; else x=325;

12.设有int i=1, j=2, k=3;则表达式i&&j&&k 的值为:1

13.long y= 65536; printf(\在C语言中,执行上述程序片段的输出结果是:

14.若x为int型变量,则执行以下语句后x的值为( )。 x=6;x+=x-=x*x;

15.在C语言中,表示数学不等式x

16.若有以下类型说明语句: char w; int x; float y; double z; 则表达式 w*x+z-y 的结果为 17.int t=0,x=1,y=1; t= x && y; 在C语言中,执行上述语句后,t的值为:1 18.错误的转义字符是

19.如果要把整数327存入变量a中,a不能定义成以下哪个类型: 20.设有定义int x=1,y; 表达式y=x++执行结束后,y的值是: 21.int x=10; x=9+--x; 在C语言中,则执行以上语句后,x的值为:

22.设x,y,z均为整型变量,有如下程序段 x=y=z=1; x&&y||++z; 则该程序运行后z的值是: 23.在C语言中,设x为int型变量,则执行以下语句后,x的值为 x=10; x=x+--x; 24.设有int n=3;则表达式++n的运算结果是:4

25.设x、y、z和k都是int型变量,则执行表达式: x=(y=4,z=16,k=32)后,x的值为( )。

26.在C语言中,若已定义x和y为double类型,则表达式: x=1,y=x+3/2的值是: 27.在C语言中,若已定义x和y为double类型,则表达式: x=1,y=x+3/2的值是: 28.在C语言中,表示数学不等式a≥10或a≤0所对应的C语言表达式是:

29.若有以下定义和语句: int u=010,v=0x10,w=10; printf(\则输出结果是:

30.逗号表达式((a=3*5,a*4),a+15)执行后变量a的值为:15

31.int x=100,y=200; printf(\在C语言中,执行以上语句的输出结果是: 32.在C语言中,执行下面语句后,输出的结果是 int x=10,y=3; printf(\,y=x/y); 33.设有int a=2,b;则执行b=a&&1;语句后,变量b的值是:

34.数字字符0的ASCII值为48,若有以下程序 main() { char a='1',b='2'; printf(\printf(\程序运行后的输出结果是:

35.在C语言中,若a=0x21,则printf(\输出值为:

36.char c1=97, c2=98; printf(\在C语言中,执行上述两个语句后,输出的结果为: 37.若有以下说明和语名: int a=5 a++; 此处表达式a++的值是( )

38.在C语言中,假定所有变量均已正确说明,下列程序段运行后x的值是 a=b=c=0;x=99; if(!a) x=9; else x=3;

39.int I=1; if(I<=0) printf(\执行上述语句后的输出结果是:

40.int a=b=c=0,x=99; if(!a) x=9; else x=3; 在C语言中,程序段运行后x的值是:

41.int a,b,c; a=7;b=8;c=9; if(a>b) {a=b;b=c;c=a;} printf(\请问:上述这个程序段的输出是:

42.在C语言中,以下4条语句,有语法错误的是:

43.若执行下面的程序从键盘输入3和4,则输出是( )。 main() { int a,b,s; scanf(\ s=a; if (a < b) s=b; s=s*s; printf(\ } 44.一个C程序的执行过程是:

45.#include #define M 3 #define N M+1 main() { printf(\在C语言中,执行以上程序,输出结果为:

46.函数调用语句function((1,2),3)中含有的实参个数为 47.当说明一个结构体变量时系统分配给它的内存是( )。

48.int f(int x) { return x*3; } void main(){ printf(\上述程序执行后得到的输出结果是:

49.函数调用语句function((1+2,2*3),3)中含有的实参个数为: 50.C语言中函数能否嵌套调用和递归调用? 51.C语言中,预处理总是以下哪个符号开头

52.main( ) { struct st { int b; float c; }; printf(\在C语言中,执行以上程序(已知int类型占两个字节),则运行结果为:

53.下面的for循环最多可执行________次。 for(x=0,y=0;(y!=99)&&(x<4);x++); 54.在C语言中,把一些不同类型的数据作为一个整体来处理时,常用的是: 55.若有语句int *point,a=4;和 point=&a;下面均代表地址的一组选项是 ( )。 56.有以下语句:struct lie { int a, float b; }st; 则在下面叙述中,不正确的是:

57.已有定义 int k=2;int *ptr1,*ptr2;且prt1和ptr2均已指向变量k,下面不能正确执行的赋值语句是( )。

58.当int类型长度为2字节时,则类型unsigned int的值域范围为

59.float square(int x) { return x*x;} 在C语言中,以上语句执行后,函数返回类型是:

60.C语言规定,调用一个函数时,当实参为数组名的时候,参数传递的方式是:

61.int x[6]={2,3,4,5,6,7},*p; p=x; 在C语言中,执行以上语句,则表达式*(p+1)的值为: 62.C语言中对于嵌套if语句规定else总是与什么配对?

63.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 64.在C语言中,一维数组的定义方式为:类型说明符 数组名( )。

65.有以下程序 main() {char s[]=\程序运行后的输出结果是 :

66.main () {int m=5; if (m>5 ) printf (\,m); else printf (\,m--); } 执行以上程序后,输出结果为:

67.设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是: 68.有以下程序 main() {int a[]={1,2,3,4,5,6,7,8,9,0},*p; for(p=a;p<=a+9;p++) printf(\} 程序运行后的输出结果是

69.以下程序的输出结果是( )。 Main() {char str[12]={'s','t','r','I','n','g'};

printf(\

70.有以下程序  main()  { int a=666,b=888;  printf(\ }  程序运行后的输出结果是:

71.在C语言中,已知定义:int b[]={1,2,3,4},y,*p=b; 执行y=*p++后,y的值为:

72.在C语言中,定义 char a[]={'a','b','l','l','o'},已知字符'b'的ASCII为98,则执行 printf(\语句的输出是:

73.对于下面程序段,执行的结果是: Char c[5]={'a','b','\\0','c','\\0'}; printf(\74.在C语言中,定义int a[5][6];后,第10个元素的引用是:

75.在C语言中,定义 int s[]={1,2,3,4},*p=&s[0];表达式*(p+2)的值是: 76.在C语言中,若定义 int a[4][6],则数组 a 有多少个元素。

78.在C语言中,定义数组int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},则a[3]值是: 79.main( ) { int a=12,b=12; printf(\上述程序的输出结果是

80.在C语言中,定义 char a[]={'a','b','l','l','o'},已知字符'b'的ASCII 为98,则 printf(\的值为97

81.在C语言中,若有定义:int y=3; int x[7]={1,2,3,4,5,6,7},则表达式y+=x[5]执行结束后,y的值为:

82.int k=3,s[2]={1}; k=s[0]*10; 执行上述语句后,变量k的值是:

84.以下程序的输出结果是( )。 Int a, b; void fun() { a=100; b=200; } main() { int a=5, b=7; fun(); printf(\%d \\n\

85.在C语言中,x的类型为double,有表达式 x=fabs(8.0-10.0), 则x的值为:

86.main( ) { int I=2,sum=0; while(I<=4) {sum+=I, I++;} Printf(“%d”,sum);} 上述程序的运行结果为:

87.有以下程序 #define P 3 void F(int x){return(P*x*x);} main() {printf(\程序运行后的输出结果是

88.C语言中的循环结构语句有do-while,while,还有一个是:

89.以下函数 fff(float x) { printf(”%d\n”,x*x); } 的类型是( )。 90.有以下程序段 int k=0 while(k=1)k++; while 循环执行的次数是0

91.下列循环体执行多少次: K=70; while(K=0) K--;0次