6.已有定义:int x=3,y=4,z=5;求表达式!(x+y)+z-1&&y+z/2的值是。
7.设a和b均为double型常量,且a=5.5、b=2.5,求表达式(int)a+b/b的值是。 8.已有定义:int a=3;求表达式 a+'\\101' 的值是。 9.求表达式 sizeof(int)+sizeof(double) 的值是。
10.已有定义:int a=3,b=10,c=15;求表达式 a|b&c 的值是11。 11.以下4组用户定义标识符中,全部合法的一组是 A) _main B) If C) txt D) int enclude -max REAL k_2 sin turbo 3COM _001
12.若以下选项中的变量已正确定义,则正确的赋值语句是 A) x1=26.8%3; B) 1+2=x2; C) x3=0x12; D) x4=1+2=3; 13.设有以下定义 int a=0; double b=1.25; char c=‟A‟; #define d 2
则下面语句中错误的是
A) a++; B) b++ C) c++; D) d++;
14.设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式 计算结果不相符
的是
A) (a+B) *h/2 B) (1/2)*(a+B) *h C) (a+B) *h*1/2 D) h/2*(a+B) 15.设有定义:int a,*pa=&a;
以下scanf语句中能正确为变量a读入数据的是 A) scanf(“%d”,&pa); B) scanf(“%d”,a) ; C) scanf(“%d”,pa) ; D) scanf(“%d”,*pa) ;
16.以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是 A) if((a>b) &&(b>c) ) k=1; B) if((a>b)||(b>c) ) k=1; else k=0;
C) if(a<=b) k=0; D) if(a>b) k=1; else if(b<=c) k=1; else if(b>c) k=1; else k=0; 17.有以下程序 main( ) { char k; int i; for(i=1;i<3;i++) { scanf(“%c”,&k); switch(k)
{ case „0‟: printf(“another\\n”); case „1‟: printf(“number\\n”); } } }
程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是
A) another B) another C) another D) number
number number number numbe another number
18.有以下程序 main( )
{ int x=0,y=5,z=3;
while(z-->0&&++x<5) y=y-1; printf(“%d,%d,%d\\n”,x,y,z); }
程序执行后的输出结果是
A) 5,-2,-5 B) 3,2,-1 C) 4,3,-1 D) 3,2,0 19.有以下程序 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中的偶数之和 20.有以下程序
void f(int v , int w) { int t; t=v;v=w;w=t; }
main( )
{ int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z);
printf(“%d,%d,%d\\n”,x,y,z); }
执行后输出结果是 A) 1,2,3 B) 3,1,2 C) 1,3,2 21.有以下定义和语句 int a[3][2]={1,2,3,4,5,6,},*p[3]; p[0]=a[1];
则*(p[0]+1)所代表的数组元素是 A)a[0][1] B) a[1][1] C) a[1][0] 22.有以下程序
void fun(int *a,int i,int j) { int t; if(i { int x[]={2,6,18},i; D) 2,3,1 D)a[1][2] fun(x,0,3); for(i=0;i<4;i++) printf(\"%2d\ printf(\"\\n\");} 程序运行后的输出结果是 A)1 2 6 8 B) 8 6 2 1 C) 8 6 1 2 D) 8 1 6 2 23.有以下程序 main( ) { unsigned char a,b; a=4|3; b=4&3; printf(“%d %d\\n”,a,b); } 执行后输出结果是 A) 7 0 B) 0 7 C) 1 1 D) 43 0 24.有以下程序 main() { int a=7,b=8,*p,*q,*r; p=&a;q=&b; r=p; p=q;q=r; printf(\"%d,%d,%d,%d\\n\} 程序运行后的输出结果是 A)8,7,8,7 B)7,8,7,8 C)8,7,7,8 D)7,8,8,7 25.有以下程序 #define f(x) x*x main( ) { int i; i=f(4+4)/f(2+2); printf(“%d\\n”,i); } 执行后输出结果是 A) 22 B) 28 C) 16 D) 4 1.以下选项中合法的用户标识符是_____。 A) long B) _2Test C) 3Dmax D) A.dat 2.以下非法的赋值语句是____。 A) n=(i=2,++i); B) j++; C) ++(i+1); D) x=j>0; 26.已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、 j的值为2、k的值为3,以下选项中正确的输入语句是______。 A) scanf(\"%2d%2d%2d\ B) scanf(\"\"%d %d %d\ C) scanf(\"%d,%d,%d\ D) scanf(\"i=%d,j=%d,k=%d\ 27.设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是____。 A) printf(\"x=%d\\n\B) printf(\"x=%ld\\n\ C) printf(\"x=%8dL\\n\D) printf(\"x=%LD\\n\ 28.若有以下程序: main() {int k=2,i=2,m; m=(k+=i*=k); printf(\"%d, %d\\n\ } 执行后的输出结果是______。 A) 8,6 B) 8,3 C) 6,4 D) 7,4 29.有以下程序 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\} 程序运行后的输出结果是______。 A) 9,9 B) 8,9 C) 1,8 D) 9,8 30.以下叙述中正确的是______。 A) 构成C程序的基本单位是函数 B) 可以在一个函数中定义另一个函数 C) main()函数必须放在其它函数之前 D) 所有被调用的函数一定要在调用之前进行定义的 平均分并输出,程序如下: main() {int n,k; float score,sum,ave; sum=0.0; for(n=1;n<=10;n++) {for(k=1;k<=4;k++) {scanf(\"%f\sum+=score;} ave=sum/4.0; printf(\"NO%d:%f\\n\ } } 上述程序运行后结果不正确,调试中发现有一条语句出现在程序的位置 不正确。这条语句是______。 A) sum=0.0; B) sum+=score; C) ave=sum/4.0; D) printf(\"NO%d:%f\\n\ 32.有以下程序段 int n=0,p; do {scanf(\"%d\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 33.有以下程序 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\ } 程序运行后的输出结果是______。 A) 1 B) 2 C) 3 D) 4 34.若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是______。 A) p=q; B) *p=*q; C) n=*q; D) p=n; 35.有以下程序 void fun(char *c,int d) {*c=*c+1;d=d+1; printf(\"%c,%c,\ } main() {char a='A',b='a'; fun(&b,a); printf(\"%c,%c\\n\ } 程序运行后的输出结果是______。 A) B,a,B,a B) b,B,A,b C) A,b,A,b D) 36.有以下程序 int f(int n) {if (n==1) return 1; else return f(n-1)+1; } main() {int i,j=0; for(i=1;i<3;i++) j+=f(i); a,B,a,B printf(\"%d\\n\ } 程序运行后的输出结果是______。 A) 4 B) 2 C) 3 D) 1 37.有以下程序 #include {char *p=\"abcde\\0fghjik\\0\"; printf(\"%d\\n\ } 程序运行后的输出结果是______。 A) 12 B) 15 C) 6 D) 5 38.有以下程序 struct STU {char num[10]; float score[3]; } main() {struct STU s[3]={{\"20021\{\"20022\ {\"20023\ int i; float sum=0; for(i=0;i<3;i++) sum=sum+p->score[i]; printf(\"%6.2f\\n\} 程序运行后的输出结果是______。 A) 260.00 B) 270.00 C) 280.00 D) 285.00 39.以下程序运行后的输出结果是【 】。 main() {int x=10,y=20,t=0; if(x==y)t=x;x=y;y=t; printf(\"%d,%d\\n\ } 40.以下程序运行后的输出结果是【 】。 main() {int x=15; while(x>10&&x<50) {x++; if(x/3){x++;break;} else continue; } printf(\"%d\\n\ } 41.有以下程序: #include while((c=getchar())!='?') putchar(--c); } 程序运行时,如果从键盘输入:Y?N?<回车>,则输出结果为【42.以下程序运行后的输出结果是【 】。 void fun(int x,int y) 】。 {x=x+y;y=x-y;x=x-y; printf(\"%d,%d,\ main() {int x=2,y=3; fun(x,y); printf(\"%d,%d\\n\ } 43. 表示“整数x的绝对值大于5”时值为“真”的C语言表达式是【 44. 以下函数用于求出两个整数之和,并通过形参将结果传回,请填空。 void func(int x,int y, 【 】z) {*z=x+y; } 45.下面程序的运行结果是:【 】。 #define N 10 #define s(x) x*x #define f(x) (x*x) main() {int i1,i2; i1=1000/s(N);i2=1000/f(N); printf(\"%d %d\\n\ } 46.下面程序的运行结果是:【 】。 void swap(int *a,int *b) {int *t; 】。 t=a;a=b;b=t; } main() {int x=3,y=5,*p=&x,*q=&y; swap(p,q); printf(\"%d %d\\n\ } 47.下面程序的运行结果是:【typedef union student {char name[10]; long sno; char sex; float score[4]; }STU; main() {STU a[5]; printf(\"%d\\n\ } 48.以下程序的输出结果是【 void fun() {static int a=0; a+=2; printf(\"%d\ } main() 】。】。 {int cc; for(cc=1;cc<4;cc++) fun(); printf(\"\\n\"); } 49.若要使指针p指向一个double类型的动态存储单元,请填空。 p=【 】malloc(sizeof(double)); 50.以下函数把b字符串连到a字符串的后面,并返回a中新字符串的长度, 请填空。 strcen(char a[],char b[]) {int num=0,n=0; while(*(a+num)!=【 】) num++; while(b[n]){*(a+num)=b[n];num++;【 】;} return num; } 51.fun函数的功能是:首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回。请填空。 #include return min; } 52.已知字符A的ACSII码值为65,以下语句的输出结果是【 】 char ch=‟B‟; printf(“%c %d\\n”,ch,ch); 53.有以下程序 main( ) {int t=1,i=5; for(;i>0;i--) t*=i; printf(“%d\\n”,t); } 执行后输出结果是【 】 54.有以下程序 #include {char ch1,ch2; int n1,n2; ch1=getchar(); ch2=getchar(); n1=ch1-„0‟; n2=n1*10+(ch2-„0‟); printf(“%d\\n”,n2); } 程序运行时输入:12<回车>,执行后输出结果是【55.以下程序运行后的输出结果是【 】。 main() 】。 {int a,b,c; a=25; b=025; c=0x25; printf(\"%d %d %d\\n\ } 56.有以下程序 void f( int y,int *x) {y=y+*x; *x=*x+y;} main( ) {int x=2,y=4; f(y,&x); printf(“%d %d\\n”,x,y); } 执行后输出的结果是【 】。 57.有以下程序 main( ) { int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf(“%d\\n”,x);} 执行后输出结果是【 】。 58.以下程序运行后的输出结果是【 main() {int x=1,y=0,a=0,b=0; 】。 switch(x) {case 1:switch(y) {case 0:a++; break; case 1:b++; break; } case 2:a++;b++; break; } printf(\"%d %d\\n\ } 59.以下程序读入数据到数组中,统计其中正数的个数,并计算它们之和。 请填空。 main() {int i,a[20],sun,count; suum=count=0; for(i=0;i<20;i++) scanf(\"%d\【 】); fro(i=0;i<20;i++) { if(a[i]>0) {count++; sum+=【 】 ; } } printf(\"sum=%d,count=%d\\n\ } 60.以下程序中,for循环体执行的次数是【 】。 #define N 2 #define M N+1 #define K M+1*M/2 main() { int i; for(i=1;i p=(double *) malloc(【 】); p[0]=1.5;p[1]=2.5;p[2]=3.5; printf(“%f%f%f\\n”,p[0],p[1],p[2]); } 62.下列程序的运行结果是:【 】 #include {char *p,*str=”abcdefgh”; p=ss(str); printf(“%s\\n”,p); } 63.下面程序的运行结果是:【 】 int f( int a[ ], int n) {if(n>1) return a[0]+f(&a[1],n-1); else return a[0]; } main ( ) {int aa[3]={1,2,3},s; s=f(&aa[0],3); printf(“%d\\n”,s); } .请将以下程序的两个空填写适当内容,使程序能正确运行。 【 】( double,double); main() {double x,y; scanf(\"%lf%lf\【 】); printf(\"%lf\\n\ } double max(double a,double b) { return(a>b?a:b); } 65.程序修改题 下列给定程序中函数fun的功能:从s所指字符串中,找出与t所指字符串相同 的子串的个数作为函数值返回。 例如:当s所指字符串中的内容为\"abcdabfab\所指的字符串的内容为\"ab\", 则函数返回整数3。 请改正程序中的错误,使程序能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构! 【试题程序】 #include if(*r==*p) { r++;p++ } else break; if(r=='\\0') n++; s+1;} return n; } main() { char s[100],t[100]; int m; clrscr(); printf(\"\\nPlease enter string s:\"); scanf(\"%s\printf(\"\\nPlease enter string t:\"); scanf(\"%s\m=fun(s,t); printf(\"The result is: m=%ds\\n\ 66.程序修改题 下列给定程序中函数fun的功能:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。 请改正函数fun中的错误,使程序能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 【试题程序】 #include for(k=i;k { int x, b[N]={11,5,12,0,3,6,9,7,10,8}, n=10, i; clrscr(); for(i=0;i 编写一函数,用来删除字符串中的所有空格。 例如,假定输入的字符串为“asd af aa z67”,则输出为:“asdafaaz67”。 注意:部分源程序如下,请不要改动main函数和其他函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。 【试题程序】 #include printf(\"Input a string: \"); gets(str); puts(str); fun(str); printf(\"* * * str: %s\\n\} 68.程序设计题。 函数fun的功能:将s字符串中ASCII码值为偶数的字符删除, 串中剩余字符形成一个新串放在t数组中。 例如,若s串中的内容为:“ABCDEFG12345”,其中字符B的 ASCII码值为偶数、其中字符2的ASCII码值为偶数,都应当删除, 其他依此类推。最后t数组中的内容应是:“ACEG135”。 注意:部分源程序如下,请勿改动主函数main,仅在函数fun的 花括号中填入你编写的若干语句。 【试题程序】 #include { char s[100],t[100]; clrscr() printf(\"\\nPlease enter string S:\"); scanf(\"%s\ fun(s,t); printf(\"\\nThe result is: %s\\n\ }
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务