当前位置:文档之家› 石油大学C语言在线考试附答案

石油大学C语言在线考试附答案

C 语言》综合复习资料1. C 语言中基本数据类型有( )A)整型、实型、逻辑型C)整型、实型、字符型2.在 C 语言中,数字029 是一个(A )八进制数B )十进制数B )整型、字符型、逻辑型D )整型、实型、字符型、逻辑型)C)十六进制数D)非法数3.在以下关于 C 语言的不严格的叙述中,错误的说法是( )A)在标识符中,大写字母和小些字母的意义相同B)有些不同类型的变量可以在一个表达式中运算C)在赋值表达式中等号“左边的变量和右边的值可以是不同类型D)同一个运算符号在不同的场合可以有不同的含义4.已知int a=4,b=5; , 这执行表达式a=a>b 后,变量 a 的值为( )A) 0 B) 1 C) 4 D) 55.设有定义int a=3,b=4,c=5; , 则以下表达式中,值为0 的表达式是( )A) a&&b B) a<=b C) a||b+c&&b-c D) !((a<b)&&!c||1)6.以下不合法的赋值语句是( )A) x=(1,y=2); B ) ++x; C) x=y=15; D ) y=int(x);7.已定义 c 为字符型变量,则下列语句中正确的是( )A) c='97'; B) c="97"; C) c="a"; D) c=97;8.能将高级语言编写的源程序转换为目标程序的软件是( )A )汇编程序B)编辑程序C)解释程序 D )编译程序9.设有定义char *p= “abcde 0"则printf( “%d,strlen(p));输出结果是( )A) 12 B) 15 C) 6 D) 510.以下选项中合法的实型常数是( )A) 5E2.0 B) E-3 C) .2E0 D) 1.3E11.以下非法的赋值语句是( )A) n=(i=2,++i); B) j++; C) ++(i+1); D) x=j>0;12.已定义c为字符型变量,则下列正确的赋值语句是()A) c='66'; B) c="66"; C) c="B"; D) c=66;13.设a=3,b=4,c=-5 ,则逻辑表达式: a || b+c&& b==c 的值是( )A) 1 B) 0 C )非0 D)语法错14.以下能正确定义数组并正确赋初值的语句是( )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}};15.结构化程序设计的三种基本结构是( )单选题20. 设有int x=11;则表达式(x++*1 /3)的值是(21. 若有 : int x=1,n=5; 则执行语句 x%=(n%2)A )3B ) 2C )122. 结构化程序的 3 种基本控制结构是 ()A) if-else 结构、 while 结构、 for 结构 C) while 结构、 do-while 结构、 for 结构 23. 下面程序段的输出结果是 ()int k=11;printf( “%d,%o,%x ”,k,k,k); A ) 11,12,11B ) 11,13,13C ) 11,013,0xbD ) 11,13,b 24. 在微型计算机系统中,存储一个汉字的国标码所需要的字节数是()A) 1B) 2C) 3D) 425. 以下非法的赋值语句是( )A) n=(i=2,++i); B) j++; C) ++(i+1);D) x=j>0;26. 语句: printf("%d",(a=2)&&(b=-2));的输出结果是 ()A )无输出B )结果不确定C ) 1D ) 227. 设有定义语句: charstr[][20]={"Hello","Beijing"},*p=str; ()则 printf("%d\n",strlen(p+20)); 输出结果是A ) 0B ) 5C ) 7D ) 2028. 以下选项中,与 k=++n 完全等价的表达式是 ()A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1二、读程序,写出程序执行结果1. #include <stdio.h> void main()C ) for 、 while 、 do-whileD ) if 、 for 、 continue16. 在一个 C 程序中 ()A ) main 函数必须出现在所有函数之前B ) main 函数可以在任何地方出现C ) main 函数必须出现在所有函数之后D ) main 函数必须出现在固定位置17. 以下合法的字符常量是 ()A ) ‘084'B ) ‘ ab 'C ) ‘x43'D ) 0”18. 用 8 位无符号二进制数能表示的最大十进制数为A ) 127B ) 128C ) 255D ) 25619. 设有定义: int x=0 ,y=1 ,z=1 ;则运行表达式:x=y++>z-- 后, x,y,z 的值分别是 ()A) 1,1,1 B) 1,2,0 C) 0,1,1D) 0,2,0A )3B ) 4C ) 11D )12后,x 的值为()B) 顺序结构、分支机构、循环结构 D) 以上三种都不对{ int a=10,b=0;if(a==12){a++; b++; }else{ a=a+3 ; b=b+3;}printf( “ %d,%n”d ,a,b);}2.#include <stdio.h>void main(){ ints,i;for(s=0,i=1;i<5;i++,s+=i) ; printf( “ %n”d ,s);}3.#include “ stdio.h ”void main(){ char n= ‘ c ';switch(n++){ default: printf( “ error! ” ); break;case ‘a': case ‘A'case ‘ b' : case ‘ B' : printf( “ good! ” );break;case ‘c' : case‘C' : printf( “ pass! ” );case ‘d': case ‘D' : printf( “ warm! ” );}}4.#include <stdio.h> void main() { int k=4,n=0;for( ; n<k ; ){ n++;if(n%3!=0) continue; k- -;} printf("%d,%d\n",k,n);}5.#include <stdio.h> int f(int b[],intm,int n){ inti,s=0;for(i=m;i<=n;i+=2) s+=b[i]; return s;}void main(){ intx,a[]={1,2,3,4,5,6,7,8,9,10}; x=f(a,3,8);printf( “ %n”d ,x);}6.#include <stdio.h> voidcopy_str(char from[ ],char to[ ]){ int k=0 ;while(from[k]!= 0'‘) { to[k]=from[k] ;k++ ;} to[k]= 0‘';/*末尾加上串结束标志*/}void main(){ char str1[80]= ” red ” ,str2[80]= ”;green copy_str (str1,str2) ;puts(str2) ;}7.#include <stdio.h>int d=1;void fun(int p) { int d=5; d+=p++; printf( “%d” ,d); } void main(){ int a=3;fun(a); d+=a++; printf("%d\n", d);}8.#include <stdio.h> void main() { int i,j ;for(i=0 ;i<3;i++){for(j=0 ;j<=i ;j++) printf("*") ;printf("\n") ;}}9. #include <stdio.h>void main(){ inti;for (i=0; i<3; i++)switch (i){ case 1: printf("%d ", i);case 2: printf("%d ", i);default :printf("%d ", i);}}10.#include <stdio.h> intws(int x){ if(x/100>0)return(3) ;else if(x/10>0 )return(2) ;elsereturn(1) ;}void main(){ int a=123 ;printf("%d 是%d 位数\n",a,ws(a)) ;} 11.#include <stdio.h>#include <string.h>void main(){ char a[10]="abc" ;char b[]="defg" ;puts(a) ;puts(b) ;puts(strcat(a,b)) ;12.#include <stdio.h>void main(){ int i,n[]={1,2,3,4,5} ;for(i=0 ;i<2 ;i++){ n[i]=n[4-i]+1 ;printf("%d ",n[i]) ;}for(i=0 ;i<5 ;i++)printf("%d ",n[i]) ;}13.#include <stdio.h>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); } 14.#include <stdio.h>voidcopy_str(char from[ ],char to[ ]){ int k=0 ;while(from[k]!= 0'‘){ to[k]=from[k] ;k++ ;} to[k]= ‘0';/* 末尾加上串结束标志*/}void main(){ char str1[80]= "good",str2[80]= "abcdef" ;copy_str(str1,str2) ;puts(str2) ;15. #include <stdio.h>void main(){ int a=0;a+=(a=8);printf( “ %n”d ,a);}16. #include <stdio.h> void main(){ int x=4;if(x++>=5)printf( “ n%”d , x) ;elseprintf( “ %n”d , -x-) ;}17. #include <stdio.h>#define MAX(a,b) (a>b ? a : b)+1void main(){ int i=6,j=8;printf( “ %n”d ,MAX(i,j));}18 .#include <stdio.h>void main(){ int i,j,m=0,n=0,k=0;for(i=6; i<=9;i++)for(j=2; j<=3;j++) switch(i%j ){ case 0: m++; break;case 1: n++; break;case 2: k++; break;default: k++;n++;m++;}printf("%d %d %d\n",m,n,k);}19. #include <stdio.h> void main() { inti;for(i=1;i<5;i++) { if(i%2)putchar( ‘ <' );elsecontinue; putchar( ‘ >' );}putchar( ‘ #' );}20.#include <stdio.h>{ int i,n[]={1,2,3,4,5} ;for(i=0 ;i<2 ;i++){ n[i]=n[4-i]+1 ;printf("%d",n[i]) ;}for(i=0 ;i<5 ;i++){ printf("%d ",n[i]) ;}}21.#include <stdio.h>int m=13;int fun(int x,int y){ int m=3;return(x*y-m);}void main(){ int a=7, b=5;printf("%d\n", fun(a,b)/m);}22.#include <stdio.h>void main(){ int n=2;printf( “ %d,%d,%nd” , ++n , n+=2 , --n) ;}23.#include <stdio.h>void main(){ int x=1,a=0,b=0;switch(x)case 1: a++; case 2: a++;b++;}printf( “ a=%d,b=%nd” ,a,b); }24.#include <stdio.h> void main(){ ints,t,a=-2,b=6;s=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("t=%d ", t);}25.#include <stdio.h> #define S(a,b) (a)*(b) void main(){ int a=3 ,area ;area=S(a,a+3) ;printf("area=%d\n",area) ;}26.#include <stdio.h>void main(){ inti=0,a=0;while(i<20 ){ for(;;)if((i%10)==0) break; elsei--;i+=11;a+=i;}printf("%d\n",a);}27.#include <stdio.h>void main(){ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; in ti,s=O ;for(i=0;i<4;i++) s+=aa[i][2]; printf( “ %” ,s); }28. #i nclude <stdio.h>fun (i nt a, int b) { if(a>b) return(a); else return(b); }void mai n(){ int x=3, y=8, z=6, r; r=fun(fun(x,y), 2*z); prin tf("%d\n", r); }三、编程题1. 设有分段函数:(x < 1)(1 wx 10) 写一程序,输入 x ,输出y 的值。

相关主题