C语言程序设计模拟题
更新时间:2024-07-09 13:37:01 阅读量: 综合文库 文档下载
一、选择题
(1)能将高级语言程序转换成目标语言程序的是__ C____。
A)调试程序 B)解释程序 C)编译程序 D)编辑程序 (2)__A____是构成C语言程序的基本单位。
A)函数 B)过程 C)子程序 D)子例程 (3)可以在C语言中用做用户标识符的是__B___。
A)void B)as_b3 C)for D)2c define _123 -abc Do WORD If cas SIG (4)若有以下类型说明语句:
char w; int x; float y, z;
则表达式w*x+z-y的结果为__D___类型。
A)float B)char C)int D)double (5)main()
{ float x=123.456;
printf(\ }
以上程序输出的结果是___D___。
A)123.4 B)123.5 C)123.45 D)123.46 (6)下面语句的输出结果是___C___。
printf(\
A)14 B)8 C)5 D)输出项不合法,无正常输出 (7)下列程序的输出结果是__B____。 main()
{ int a=0,b=0,c=0;
if(++a>0| ++b>0) ++c;
printf(\ }
A)a=0,b=0,c=0 B)a=1,b=1,c=1 C)a=1,b=0,c=1 D)a=0,b=1,c=1 (8)下列程序的输出结果是__B____。 main() { int i;
for(i=1;i+1;i++)
{ if(i>4) {printf(\ }
printf(\ }
A)55 B)56
C)程序错误,没有输出 D)循环条件永远为真,死循环 (9)下列程序的输出结果是___A___。 #define A 100 main()
{ int i=0,sum=0;
do{ if(i==(i/2)*2) continue; sum+=i; }while(++i
printf(\ }
A)2500 B)2050 C)4 D)0 (10)下列程序的输出结果是__D____。 main()
{ int i=3; switch(i) { case 1:
case 2:printf(\ case 3:
case 4:break;
default:printf(\ } }
A)0 B)3 C)OK D)没有任何输出 (11)下列程序执行后的输出结果是__C____。
C语言程序设计模拟题(1)
main()
{ int m[][3]={1,4,7,2,5,8,3,6,9}; int i,k=2;
for(i=0;i<3;i++)
{ printf(\ }
A)456 B)258 C)369 D)789
(12)设已定义i和k为int类型变量,则以下for循环语句__B____。 for(i=0;k=-1,k=1;i++,k++) printf(\
A)判断循环结束的条件不合法 B)是无限循环
C)循环一次也不执行 D)循环只执行一次 (13)下面程序的输出结果是__C____。 unsigned fun(unsigned num) { unsigned k=1; do {
k*=num; num/=10; } while(num); return(k); } main()
{ unsigned n=26;
printf(\ }
A)0 B)4 C)12 D)无限次循环
(14)已知字母A的ASCII码值是65,字母a的ASCII码值是97,以下程序__C____。 main()
{ char a='A'; int b=20;
printf(\ }
A)表达式非法,输出零或不确定值
B)因输出项过多,无输出或输出不确定值
C)输出结果为20,141 D)输出结果为20,141,20
(15)C语言函数返回值的类型是由___D___决定的。
A)return语句中的表达式类型 B)调用函数的主调函数类型
C)调用函数时临时 D)定义函数时所指定的函数类型 (16)下列程序执行后输出的结果是__C____。
int d=1; fun(int p) { int d=5; d+=p++;
printf(\ }
main()
{ int a=3;
fun(a); d+=a++;
printf(\ }
A)8,12 B)9,13 C)8,4 D)9,5 (17)已知下面的程序段,正确的判断是_C____。 #define A 3
#define B(A) ((A+1)*a) int a=3; ……
X=3*(A+B(7));
A)程序错误,不允许嵌套定义 B)X=93
C)X=81 D)程序错误,宏定义不允许有参数 (18)定义int *swap()指的是_B____。
A)一个返回整型值的函数swap()
B)一个返回指向整型值指针的函数swap()
C)一个指向函数swap()的指针,函数返回一个整型值 D)以上说法均错
(19)以下程序段的输出结果是__B____。 main()
{ char s1[10],s2[10],s3[10];
scanf(\ puts(s1);puts(s2);puts(s3); }
输入数据如下:(此处
A)aaa B)aaa C)aaa\\0bbb\\0 D)aaabbb Bbb bbb
(20)下述函数功能是__A____。 int fun(char *x) { char *y=x; while(*y++); return y-x-1; }
A)求字符串的长度 B)求字符串存放的位置
C)比较两个字符串的大小 D)将字符串x连接到字符串y后面 (21)以下程序的输出结果是__A____。 main()
{ char str[12]={'s','t','r','i','n','g'}; printf(\ }
A)6 B)7 C)11 D)12 (22)请读程序段:
char str[]=\ printf(\
程序段的输出结果是__B____。
A)68 B)0 C)字符’D’的地址 D)不确定的值
(23)若有定义:int a[4][10];,则以下选项中对数组元素a[i][j]引用错误的是___B___。 (0<=i<4,0<=j<10)
A)*(&a[0][0]+10*i+j) B)*(a+i)+j C)*(*(a+i)+j) D)*(a[i]+j) (24)设有以下语句:
char str1[]=\ 则__C D____不是对库函数的正确调用。
A)strcpy(str1,\ B)strcpy(str2,\ C)strcpy(str3,\ D)strcpy(str4,\ (25)请读程序: #include
{ char *s1=\ s1++;s2++;
printf(\ }
上面程序的输出结果是__A____。
A)正数 B)负数 C)零 D)不确定的值 (26)下面程序的输出是___A___。 char s[]=\ main()
{ char *p;
for(p=s;p
}
A)ABCD B) A C) D D)ABCD BCD B C ABC CD C B AB D D A A (27)以下程序输出的结果为___C___。 main()
{ char *alpha[6]={\ char **p; int i; p=alpha;
for(i=0;i<4;i++)
printf(\ }
A)ABCDEFGHIJKL B)ABCD C)ABCDEFGHIJKLMNOP D)AEIM (28)下面程序的输出结果是__A____。 #include
{ char *p[]={\ int i;
for(i=3;i>=0;i--,i--) printf(\ printf(\ }
A)SO B)SP C)SPOPK D)SHOB (29)以下程序的输出结果是__B____。 #include
void prt(int *x,int *y,int *z)
{ printf(\ int a=10,b=40,c=20; main()
{ prt(&a,&b,&c); prt(&a,&b, &c); }
A)11,42,31 B)11,41,20 C)11,21,40 D)11,41,21 12,22,41 12,42,20 11,21,41 12,42,22
(30)若一个外部变量的定义形式为static int x;,那么,其中static的作用应该是__C____。 A)将变量存储在静态存储区
B)使变量x可以由系统自动初始化 C)使x只能在本文件内引用 D)使x的值可以永久保留
(31)以下程序的输出结果是__B____。 #include
{ int a,k=3;
a=++SQR(k+1); printf(\ }
A)8 B)9 C)17 D)20
(32)下面是对宏定义的描述,不正确的是___C___。
A)宏不存在类型问题,宏名无类型,它的参数也无类型 B)宏替换不占用运行时间
C)宏替换时先求出实参表达式的值,然后代入形参运算求值 D)宏替换只不过是字符替代而已
(33)已知小写字母a的ASCII码为97,大写字母A的ASCII码为65,以下程序的结果是___C___。 main()
{ unsigned int a=32,b=66; printf(\ }
A)66 B)98 C)b D)B 二、填空题(每空2分)
(1)若有定义int m=5,y=2,则执行表达式y+=y-=m*=y后,y的值为 【_____-16_________】 。
(2) 若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为
【___8.0__________】 。
(3)设有char a,b;,若要通过a&b运算屏蔽掉a中的其他位,只保留第2位和第8位(右起为第1位),则b的
二进制是 【__10000010___】 。
(4)下列程序执行后输出的结果是 【_______7__________】 。 f(int a)
{ static c=0;
c=a+c++; return(c); }
main()
{ int a=2,i,k;
for(i=0;i<2;i++) k=f(a++);
printf(\ }
(5)下面程序执行后输出的结果是 【_______2___________】 。 int m=13;
int fun(int x,int y) { int m=3;
return(x*y-m); } main()
{ int a=7,b=5;
printf(\
}
(6)下列程序执行后输出的结果是 【_______12___________】 。 main()
{ int arr[10],i,k=0;
for(i=0;i<10;i++) arr[i]=i; for(i=1;i<4;i++) k+=arr[i]+i; printf(\ }
(7)以下程序的输出结果是: 【_____1,0________】 。 main( )
{ int a[10]={1,2,3,4,5,6,7,8,9,0},*p; p=a;
printf(\
printf(\ }
(8)以下函数的功能是计算s=1+1/2!+1/3!+…+1/n!,请填空。 double fun(int n)
{ double s=0.0, fac=1.0; int i,k=1;
for(i=1;i<=n;i++)
{ 【_____k*k*i______】 ; fac=fac/k; s=s+fac; } }
(9)下面程序的运行结果是 【____x=11____________】 。 main()
{ unsigned int a=0112,x; x=a>>3;
printf(\ }
(10)函数delete(s,i,n)是作用是从字符串s中删除从第i个字符开始的n个字符,请填空。 void delete(char s[],int i,int n) { int j,k,length=0; while(s[length])
{ 【___length++______】 ; --i; j=i; }
if( 【_____ i if(i+n<=length) while(k (11)下述函数统计一个字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。 int word(char *s) { int num=0,flag=0; while(*s) { if( 【_*s++___】 ==' ') flag=0; else if( 【__ flag==0____】 ){flag=1;num++} } return 【__ num ___】 ; } 一、选择题 (1)请读程序: #include int a; float b, c; scanf(\ printf(\ } 若运行时从键盘上输入 9876543210↙,则上面程序的输出结果是__C___。 A)a=98,b=765,c=4321 B)a=10,b=432,c=8765 C)a=98,b=765.000000,c=4321.000000 D)a=98,b=765.0,c=4321.0 (2)一个良好的算法由下面的基本结构组成,但不包括___D___。 A)顺序结构 B)选择结构 C)循环结构 D)跳转结构 (3)请选出以下程序的输出结果__B____。 #include { int a,b,c; sub(10,5,&a);sub(7,a,&b);sub(a,b,&c); printf(\ } A)5,2,3 B)-5,-12,-7 C)-5,-12,-17 D)5,-2,-7 (4)下面程序在屏幕上的输出是_B___。 main( ) { printf(\ } A)ab \\b\\b c B)a c C)abc D)ab c (5)若 x 是整型变量,pb 是基类型为整型的指针变量,则正确的赋值表达式是__A____。 A)pb=&x; B)pb=x; C)*pb=&x; D)*pb=*x (6)设整型数 i=5,则 printf(\的输出为_D___。 A)10 B)11 C)12 D)语法错误 (7)下面程序输出的结果是__A___。 main( ) { int i=5,j=9,x; x=(i==j?i:(j=7)); printf(\ } A)5,7 B)5, 5 C)语法错误 D)7,5 (8)若执行下面程序时从键盘上输入 5, main( ) { int x; scanf(\ if(x++>5) printf(\ else printf(\ } 则输出是__B____。 A)7 B)6 C)5 D)4 (9)若有以下定义和语句: int a[ ]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为 3 的表达式是__A____。 A)p+=2,*(p++) B)p+=2,*++p C)p+=3,*p++ D)p+=2,++*p (10)设 a、b 和 c 都是 int 型变量,且 a=3、b=4、c=5,则下面的表达式中,值为 0 的表达式是_D___。 A)'a'&&'b' B)a<=b C语言程序设计模拟题(2) C)a||+c&&b-c D)!((a char *d[]={\ printf(\ } A)cde B)字符 c 的 ASCII 码值 C)字符 c 的地址 D)出错 (12)设有如下程序 #include int **k, *j,i=100; j=&i; k=&j; printf(\ } 上述程序的输出结果是___B___。 A)运行错误 B)100 C)i 的地址 D)j 的地址 (13)设有以下语句,其中不是对 a 数组元素的正确引用的是:__D____(其中 0≤i<10) int a[10]={0,1,2,3,4,5,6,7,8,9,},*p=a; A)a[p-a] B)*(&a[i]) C)p[i] D)*(*(a+i) ) (14)有以下程序: #include for( ; i<6; c[i]=getchar( ),i++); for(i=0;i<6;i++)putchar(c[i]); printf(\ } 如果从键盘上输入: ab<回车> c<回车> def<回车> 则输出结果为 _____C________ 。 A)a B)a C)ab D)abcdef b b c c c d d d e f (15)在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是 ___B____。 A)地址传递 B)单向值传递 C)由实参传递给形参,再由形参传递给实参 D)传递方式由用户指定 (16)以下程序 #include { char *p1=\ strcpy(str+2,strcat(p1,p2) ); printf(\ } 的输出是 _D___。 A)xyzabcABC B)zabcABC C)yzabcABC D)xyabcABC (17)以下程序 int aa[3][3]={{2},{4},{6}}; main( ) { int i,*p=&aa[0][0]; for (i=0;i<2;i++) { if(i==0) aa[i][i+1]=*p+1; else ++p; printf(\ } } 的输出是__A____。 A)23 B)26 C)33 D)36 (18)以下程序的输出结果是__C____。 #include char t,*s1,*s2; s1=w;s2=w+n-1; while(s1 main() { char p[]=\ fun(p,strlen(p)); puts(p); } A)1234567 B)7654321 C)1711717 (19)下面程序 main( ) { int x=100, a=10, b=20, ok1=5, ok2=0; if(a if(b!=15) if(!ok1) x=1; else if(ok2) x=10; x=-1; printf(\ } 的输出是__A____。 A)-1 B)0 C)1 (20)下面程序 main( ) { int x=32; printf(\ } 的输出是__D____。 A)100 B)160 C)120 D)64 (21)以下程序的输出结果是__B____。 #include #define FUDGE(y) 2.84+y #define PR(a) printf(\ #define PRINT1(a) PR(a);putchar('\\n') main( ) { int x=2; PRINT1(FUDGE(5)*x); } A)11 B)12 C)13 (22)以下程序段给数组所有的元素输入数据,请选择正确答案填入: #include int a[10],i=0; while(i<10) scanf(\__A___); : : D)7177171 D)不确定的值 D)15 } A)a+(i++) B)&a[i+1] C)a+i D)&a[++i] (23)字符(char)型数据在微机内存中的存储形式是__D____。 A)反码 B)补码 C)EBCDIC 码 D)ASCII 码 (24)有以下程序,程序运行后的输出结果是__D____。 int f(int b[][4]) { int i,j,s=0; for(j=0;j<4;j++) { i=j; if(i>2) i=3-j; s+=b[i][j]; } return s; } main() { int a[4][4]={{1,2,3,4},{0,2,4,6},{3,6,9,12},{3,2,1,0}}; printf(\ } A)22 B)11 C)18 D)16 (25)不能把字符串\赋给数组 b 的语句是__D____。 A)char b[10]={'H','e','l','l','o','!'}; B)char b[ ]={'H','e','l','l','o','!'}; C)char b[10];strcpy(b,\ D)char b[10]; b=\ (26)下面程序的输出是__D____。 main( ) { int x=3 ,y=6,a=0; while(x++!=(y-=1)) { a+=1; if (y printf(\ } A)x=4,y=4,a=1 B)x=5,y=5,a=1 C)x=5,y=4,a=3 D)x=5,y=4,a=1 (27)若有程序: fun(int a,int b) { static int c=0; c+=a+b; return c; } main() { int x=5,y=3,z=7,r; r=fun((y,x+y),z); r=fun(x,y); printf(\ } 上面程序的输出结果是__A____。 A)23 B)15 C)19 (28)下面程序的输出是__C____。 main( ) { char *s=\ int v1=0,v2=0,v3=0,v4=0,k; for (k=0;s[k];k++) switch(s[k]) { default:v4++; case'1':v1++; case'3':v3++; case'2':v2++; D)18 } printf(\ } A)v1=4,v2=2,v3=1,v4=1 B)v1=4,v2=9,v3=3,v4=1 C)v1=5,v2=8,v3=6,v4=1 D)v1=8,v2=8,v3=8,v4=8 (29)下面程序的输出是__D____。 main( ) { int k=11; printf(\ } A)k=11,k=12,k=11 B)k=11,k=13,k=13 C)k=11,k=013,k=0xb D)k=11,k=13,k=B (30)下面程序段中 c 的二进制值是__B____。 char a=3,b=6,c; c=a^b<<1; A)00001011 B)00001111 C)00011110 D)00011100 (31)以下叙述中正确的是__C____。 A)C 语言比其他语言高级 B)C 语言可以不用编译就能被计算机识别执行 C)C 语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D)C 语言出现的最晚,具有其他语言的一切优点 (32)下列可用于 C 语言用户标识符的一组是__B____。 A)void define WORD B)a3_b3 _123 Car C)For -abc IFCase D)2a DO sizeof (33)请选出正确的程序段__C____。 A)int *p B)int *s,k; scanf(\ *s=100; …… …… C)int *s,k; D)int *s,k; char *p,c; char *p,e; s=&k; s=&k; p=&c; p=&c; *p='a'; s=p; …… *s=1; …… 二、填空题 (1)下面程序的输出是 【____12______】 。 main( ) {int arr[10],i,k=0; for(i=0;i<10;i++) arr[i]=i; for(i=1;i<4;i++) k+=arr[i]+i; printf(\ (2)若a=10,b=20,则表达式!(a int fa(int x) {return x*x;} int fb(int x) {return x*x*x;} int f(int(*f1)(),int(*f2)(),int x) {return f2(x)-f1(x);} main() {int i;i=f(fa,fb,2);printf(\ 程序运行后,输出结果是 【______4_______】 。 (4)若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是 【__5,4,c=3___】 int b,c; float a; scanf(\ (5)下列程序的输出结果是 【___5 6____】 。 int t(int x,int y,int cp,int dp) { cp=x * x+y*y; dp=x*x-y*y; } main( ) { int a=4,b=3,c=5,d=6; t(a,b,c,d); 。 printf(\ %d\\n\ } (6)下面程序的输出结果是 【___GGGH_____】 。 char b[]=\ main() { char b[30]; strcpy(&b[0],\ strcpy(&b[1],\ strcpy(&b[2],\ printf(\ } (7)下述函数用于统计一行字符中的单词个数,单词之间用空格分隔。 word_num(char str[]) {int i,num=0,word=0; for(i=0;str[i]!= 【__’\\0’____】 ;i++) if( 【__str[i]____】 ==' ')word=0; else if(word==0) { word=1; 【_num++__】 ; } return(num); } (8)有一个已排好序的数组,今输入一个数,要求按原来的顺序规律将它插入到数组中。 算法是:假设排序顺序是从小到大,对输入的数,检查它在数组中哪个数之后,然后 将比这个数大的数顺序后移一个位置,在空出的位置上将该数插入。请在程序中的空 白处填上一条语句或一个表达式。 #define N 100 main() { float a[N+1],x; int i,p; for(i=0;i scanf(\ scanf(\ for(i=0,p=N;i for(i=N-1; 【___i>=p_____】 ;i--) a[i+1]=a[i]; a[p]=x; for(i=0; 【____i<=N_____】 ;i++) { printf(\ if(i%5==0) printf(\ } } 一、选择题 (1)下列语句中符合 C 语言语法的赋值语句是__D____。 A)a=7+b+c=a+7 B)a=a+7 C)a=7+b,b++,a+7; D)a=7+b,c=a+7; (2)下面程序 main( ) { int y=9; for(;y>0;y--){ if(y%3==0) { printf(\ continue; } } } 的输出是__B__。 A)741 B)852 C)963 D)875421 (3)下列四个叙述中,错误的是___B___。 A)C 语言中的关键字必须小写 B)C 语言中的标识符必须全部由字母组成 C)C 语言不提供输入输出语句 D)C 语言中的注释行可以出现在程序的任何位置 (4)下面程序 main( ) { int a=-1,b=4,k; k=(a++<=0)&&(!(b--<=0) ); printf(\ } 的输出是__C____。 A)0 0 3 B)0 1 2 C)1 0 3 D)1 1 2 (5)以下叙述中正确的是__C____。 A)预处理是指完成宏替换和文件包含中指定文件的调用 B)预处理也是C 语句 C)C 源程序中,凡是行首以#标识的控制行都是预处理指令 D)预处理就是完成 C 编译程序对 C 源程序的第一遍扫描,为编译的词法分析和语法分析作准备 (6)下面的程序片段 y=-1; if (x!=0) if(x>0) y=1; else y=0; 所表示的数学函数关系是__C____。 -1 (x<0) 1 (x<0) A) y= 0 (x=0) B) y= -1 (x=0) 1 (x>0) 0 (x>0) 0 (x<0) -1 (x<0) C) y= -1 (x=0) D) y= 1 (x=0) 1 (x>0) 0 (x>0) (7)下面的程序的运行结果是___D____。 main( ) { int x=3,y=0,z=0; if(x=y+z)printf(\ else printf(\ } A)有语法错误不能通过编译 B)输出* * * * C)可以通过编译, 但是不能通过连接, 因而不能运行 D)输出#### (8)在 C 语言中,合法的长整型常数是_A____。 A)0L B)4962710 C)04312765 D)0xa34b7fe (9)下面函数 int fun1(char*x) { char *y=x; while(*y++); C语言程序设计模拟题(3) return(y-x-1); } 的功能是__A____。 A)求字符串的长度 B)比较两个字符串的大小 C)将字符串 x 复制到字符串 y D)将字符串 x 连接到字符串 y 后面 (10)设 int i=2,j=1,k=3,则表达式 i&&(i+j)&k|i+j 的值是___C___。 A)0 B)2 C)1 D)3 (11)已知字母 A 的 ASCII 码为十进制的 65,下面程序 main( ) { char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf(\ } 的输出是__A____。 A)67,D B)B,C C)C,D D)不确定的值 (12)以下程序的输出结果是_B_____。 #include { int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(\ } A)6,1 B)2,1 C)6,0 D)2,0 (13)下列选项中非法的表达式是__D____。 A)0<=x<100 B)i=j==0 C)(char)(65+3) D)x+1=x+1 (14)以下程序的输出结果是__B____。 #include printf(\ } A)不确定的(因变量无定义) B)0 C)-1 D)1 (15)在下面的语句中,赋值语句错误的是__C____。 A)a=(b=(c=2,d=3)); B)i++; C)a=a/b=2; D)a=a { int k=4,m=1,p; p=func(k,m); printf(\ p=func(k,m); printf(\ } func(int a,int b) { static int m=0,i=2; i+=m+1; m=i+a+b; return(m); } A)8,17 B)8,16 C)8,20 D)8,8 (17)以下程序调用 findmax 函数求数组中值最大的元素在数组中的下标,请选择填空: #include findmax(int *s,int t,int *k) { int p ; for(p=0,*k=p;p main( ) { int a[10],i,k; for(i=0;i<10;i++) scanf(\ findmax(a,10,&k); printf(\ } A)k=p B)*k=p-s C)k=p-s D)*k=p (18)在执行以下程序时,为了使输出结果为 t=4,给 a 和 b 输入的值应该满足的条件是 __C____。 main() { int s,t,a,b; scanf(\ s=1;t=1; if(a>0)s=s+1; if(a>b)t=s+t; else if(a==b)t=5; else t=2*s; printf(\ } A)a>b B)ab (19)以下函数调用语句中含有__B____个实参。 func((exp1,exp2),(exp3,exp4,exp5) ); A)1 B)2 C)4 D)5 (20)执行以下程序后,输出的结果是__D___。 main() { int y=10; do{y--;}while(--y); printf(\ } A)-1 B)1 C)8 D)0 (21)在 C 语言中,要求运算数必须是整型的运算符是___A___。 A)% B)/ C)< D)! (22)C 语言提供的合法的数据类型关键字是__B___。 A)Double B)float C)integer D)Char (23)设有以下定义: int a[3][3]={1,2,3,4,5,6,7,8,9}; int (*ptr)[3]=a,*p=a[0]; 则下列能够正确表示数组元素 a[1][2]的表达式是__D____。 A)*((*ptr+1)[2]) B)*(*(p+5)) C)(*ptr+1)+2 D)*(*(a+1)+2) (24)若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为 6 的表达式是__C____。 A)*p+6 B)*(p+6) C)*p+=5 D)p+5 (25)下列程序的输出结果是___C___。 fun() { static int x=5; if(x++>5)printf(\ else printf(\ } main() { fun();fun(); } A)67 B)69 C)68 D)78 (26)下面程序的输出是__A____。 main( ) { int m=0xa,n=2; m+=n; printf(\ } A)C B)c C)99 D)2 (27)以下程序的输出结果是__A____。 # include {char *a=\ fun(a);puts(a); } fun(char *s) { int x,y; char c; for (x=0,y=strlen(s)-1; x A)ihgfedcba B)abcdefghi C)abcdedcba D)ihgfefghi (28)设有如下函数定义,则输出结果为__D____。 char *fun(char *str) { char *p=str; while(*p) {if(*p>'d')continue; p++; } return p; } main() { printf(\ } A)welcome B)come! C)w D)程序进入死循环 (29)设 p1 和 p2 是指向同一个 int 型一维数组的指针变量,k 为 int 型变量,则下列不能正确执行的语句是__B____。 A)k=*p1+*p2; B)p2=k; C)p1=p2; D)k=*p1*(*p2); (30)以下程序的输出结果是___C___。 # define f(x) x*x main( ) { int a=6,b=2,c; c=f(a)/f(b); printf(\ } A)9 B)6 C)36 D)18 (31)若有以下定义: char s[20]=\ 则不能代表字符 o 的表达式是__A____。 A)ps+2 B)s[2] C)ps[2] D)ps+=2,*ps (32)以下程序的输出结果是__A____。 main( ) { int i; for(i=1;i<6;i++) { if(i%2){printf(\ printf(\ } printf(\ } A)# * # * # B)# # # # # C)* * * * * D)* # * # * (33)有如下程序 main( ) { int n = 9; while(n>6) { n--; printf(\ } } 该程序的输出结果是__B____。 A)987 B)876 C)8765 D)9876 (34)下列程序是将一个十进制正整数转化为一个八进制数,在程序的空白处应填入的语句是______。 #include int i=9,a,b[10]={0}; scanf(\ sub(a,b); for(;i>=0;i--)printf(\ } sub (int c,int d[]) { int e,i=0; while(c!=0) {e=c%8; d[i]=e; __C_____; i++; } return; } A)c=e/8 B)c=c%8 C)c=c/8 D)c=e%8 (35)执行下面的程序段 int x=35; char z='A'; int B; B=((x&15)&&(z<'a') ); 后,B 的值为__B____。 A)0 B)1 C)2 D)3 (36)若有以下定义: int t[3][2]; 能正确表示 t 数组元素地址的表达式是__C____。 A)&t[3][2] B)t[3] C)t[1] D)*t[2] 二、填空题 (1)若由以下定义,则不移动指针p,且通过指针p引用值为 98 的数组元素的表达式是 【_*(p+5)__或 p[5]___】 。 int w[10] = {23,54,10,33,47,98,72,80,61},*p = w; (2)以下程序的输出结果是 【_____7_______】 。 #define MAX(x,y) (x)>(y)?(x):(y) main( ) { int a = 5, b = 2,c = 3, d = 3, t; t = MAX(a + b, c + d)*10; printf(\ } (3)以下程序的输出结果是 【______0___】 。 main() { unsigned short a=65536; int b; printf(\ } (4)若已经定义int a=25,b=14,c=19;,以下三目运算符(?:)所构成的语句的执行结果是 【_a=26,b=14,c=19__】 。 a++<=2&&b--<=2&&c++? printf(\ a=%d,b=%d,c=%d\\n\ (5)下面的 if 语句与 y=(x>=10)?3*x-11:(x<1)?x:2*x-1;的功能相同,请补充完整。 if( __x<10__ ) if( __x>=1__)y=2*x-1; else y=x; else y=3*x-11; (6)函数 void fun(float *sn,int n)的功能是:根据以下公式计算 S,计算结果通过形参指针sn 传回;n 通过形参传入,n 的值大于等于 0。请补全程序。 S=1-1/3+1/5-1/7+...+1/(2n+1) void fun(float *sn,int n) { float s=0.0,w,f=-1.0; int i=0; for(i=0;i<=n;i++) { f= __-1__ *f; w=f/(2*i+1); s+=w; } *sn___ =s; } (7)下面的函数 strcat(str1,str2)实现将字符串 str2 拼接到字符串 str1 后面的功能。请填空使之完整。 char *strcat(char *str1,char *str2) { char *t=str1; while( __*str1_ ) str1++; while( *str1++=*str2 ++ ); return(t);} (8)以下函数 fun 用于求两个整数 a 和 b 的最大公约数。 fun(int a,int b) {int i,j,m,n; if(a>b) {m=a;a=b; 【__b=m____】 ;} i=a;j=b; while((n= __j%i_ )!=0) {j=i;i= __n_ ;} return(i); }
正在阅读:
C语言程序设计模拟题07-09
中央本级基本支出预算管理办法05-09
你对人们追求时尚有何看法03-29
食品公司中秋工作总结03-02
昌江区九年级语文专项训练(三)05-26
学诺克斯的启示作文800字06-22
辽宁省大连市2022年高一下学期地理期末考试试卷(II)卷04-11
废旧电池的危害作文400字02-05
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 模拟题
- 程序设计
- 语言
- 《质量和密度》
- 2012北京市门头沟区化学二模
- 关于个人人身安全正当防卫知识
- 恭城县初中2018-2019学年初中七年级上学期数学第一次月考试卷
- 老职工心声
- 关于加强乡镇人大工作的实施方案
- 2013年7月1日实施《中华人民共和国劳动合同法》全文
- 大学物理实验杨氏模量的测量模版
- 胶莱镇初中2018-2019学年初中七年级上学期数学第一次月考试卷
- 2013年北京会计从业资格考试《财经法规》模拟试题1
- 10KV变电站电气设计
- 施工组织设计双屋面连栋温室工程
- 2009年上半年网络工程师下午试卷
- 勾股定理定稿4
- 精密行星减速机的名词解释
- 苏教版六年级科学总复习题
- 2011-2012年中考数学压轴题分类汇编01动点问题1与二次函数
- 专题四 探究型问题
- 《师说》导学案(教用)
- 2011年中考二次函数总复习1