C语言复习参考题.doc

上传人:wux****ua 文档编号:8971400 上传时间:2020-04-02 格式:DOC 页数:14 大小:95KB
返回 下载 相关 举报
C语言复习参考题.doc_第1页
第1页 / 共14页
C语言复习参考题.doc_第2页
第2页 / 共14页
C语言复习参考题.doc_第3页
第3页 / 共14页
点击查看更多>>
资源描述
C语言程序设计复习参考资料一 选择题1以下关于运算符优先顺序的描述中正确的是( )。 A) 关系运算符 算术运算符 赋值运算符 逻辑与运算符 B) 逻辑 运算符 关系运算符 算术运算符 赋值运算符 C) 赋值运算符 逻辑与运算符 关系运算符 算术运算符 D) 算术运算符 关系运算符 赋值运算符 逻辑与运算符2下列选项中合法的变量名是_ A) #define B) int C) a594_3 D) abs(x)3以下正确的描述是( )。 A) break语句的作用是结束整个循环的执行 B)在C程序中,注释说明只能位于一条语句的后面C) 在循环体内使用break语句或continue语句的作用相同 D) 从多层循环嵌套中退出时, 只能使用goto语句4以下说法正确的是( ) A).#define 和 printf 都是 C 语句。 B).#define 是C语句,而printf不是。 C).若程序中要调用数学函数,必须在文件开头输入语句 #include “math.h” D). #define 和 printf 都不是 C 语句。5下面的函数定义正确的是_A) float fun (float x ; float y) return x*y; B) float fun (float x,y) return x*y;C) float fun (x,y) int x,y;return x*y; D) int fun (int x, int y) return x*y;6执行下面语句后的输出为( ) int i=-1; if (i=0|b=0)&(a0|b=0&b=0)|(a0&b0)&(a+b0)&(a-b = y & cha&!y) 的值是 ( ) A) 0 B) 语法错 C) 1 D) 假 17 下列关于单目运算符+、-的叙述中正确的是( )A) 它们的运算对象可以是任何变量和常量B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量D) 它们的运算对象可以是char型变量、int型变量和float型变量18下面的程序( ) void main() int x=3; do printf(“%dn”,x-=2); while(!(-x); A). 输出的是1 B). 输出的是1和-2 C). 输出的是3和0 D). 是死循环19如下程序:void main( ) int a=6; printf(“%dn”,(a+=3,2*a); 执行后,输出结果是( )A) 9 B) 6 C) 2 D) 1820若有以下说明和语句,请选出哪个是对C数组元素的正确引用( ) int c45, (*cp)5; cp=c; A). cp+1 B). *(cp+3) C). *(cp+1)+3 D). *(*cp+2)21下面程序的输出是( ) main() int x=023;printf(%dn, -x); A). 17 B). 18 C). 23 D). 2422执行下列程序的结果是( ) main() float x=1,y; y=+x*+x; printf(“%fn”,y); A). 9.000000 B). 6.000000 C). 1.000000 D). 程序有错误23下面程序的输出是( ) main() int a10=1,2,3,4,5,6,7,8,9,10, *p=a;printf(%dn, *(p+2) ); A). 3 B). 4 C). 1 D). 224执行下面程序中的输出语句后,a的值是( ) main() int a; printf(%dn, (a=3*5,a*4,a+5) ); A). 65 B). 20 C). 15 D). 1025下面程序的输出是( ) main() int a=-1, b=4, k; k=(a+=0)&(!(b-=0); printf(%d %d %d n, k, a, b ); A). 0 0 3 B). 0 1 2 C). 1 0 3 D). 1 1 226设有如下的程序段: char str=Hello; char *ptr; ptr=str; 执行完上面的程序段后,*(ptr+5)的值为( ) A). 0 B). 0 C). 不确定的值 D). 0的地址27在宏定义# define PI 3.14159中,用宏名PI代替一个( ) A).单精度数 B).双精度数 C).常量 D).字符串28若i是整型变量,pb是基本型为整型的指针变量,则正确的赋值表达式是( ) A). pb=&i B). pb=i C). *pb=&i D). *pb=*i29 有以下程序段int m=0,n=0;char c=d;scanf(%d%c%d,&m,&c,&n);printf(%d,%c,%dn,m,c,n);若从键盘上输入:6D6,则输出结果是( )A) 0,d,6B) 6,d,6C) 6,D,6D) 6,D,030printf()函数中用到格式符%-7s ,其中数字7表示输出的字符串占用7列。如果字符串长度小于7,则输出按方式 ( )A) 从左起输出该字串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字串,左补空格 D) 输出错误信息31以下能正确地定义整型变量a,b和c 并为其赋初值3的语句是( ) A) int a=3,b=3, c= 3; B) int a,b, c= 3; C) a= 3,b=3,c=3; D) a= b= c=3; 32 以下程序的输出结果是( ) void main( ) int x=6,y=6,i; for(i=2;x4;y=+i) printf(%d,%d ,x-,y); A) 5,5 5,3 B) 6,6 2,3 C) 6,5 5,2 D) 6,6 5,333以下程序的输出结果是( ) void main( ) int w=4; int fun(int k); fun(w); printf(n); fun(int k) if(k0) fun(k-1); printf(%d ,k); A) 4 3 2 1 B) 0 1 2 3 4 C) 1 2 3 4 D) 4 3 2 1 034下面程序的输出是( ) main() int x=023;printf(%dn, -x); A). 17 B). 18 C). 23 D). 2435以下程序的输出结果是( ) main() char ch34= 123,456,78,*p3; int i; for(i=0;i3;i+) pi=chi; for(i=0;i3;i+) printf(%s,pi); A). 123456780 B). 123 456 780 C). 12345678 D). 14736下面程序的输出结果为( ) char *alpha6=ABCD,EFGH,IJKL, MNOP,QRST,UVWX; char *p; void main( ) int i; p=alpha; for(i=0;i4;i+) printf(%c,(*p)i); printf(n); A). EIMC B). ABCD C). EFGH D). AEIM37根据下面的定义,能打印出字母M的语句是( ) struct person char name9; int age; struct person class10= John,17, Paul,19,Mary,18, Adam,16 A). printf(%cn,class3.name); B). printf(%cn,class3.name1);C). printf(%cn,class2.name1); D). printf(%cn,class2.name0);38 有以下程序void main( )intp7=11,13,14,15,16,17,18,i=0,k=0;while(i7&pi%2) k=k+pi; i+;printf(%dn,k);执行后输出结果是( )A) 58B) 56C) 45D) 2439 以下程序的输出结果是( ) void main( ) int i,x33=9,8,7,6,5,4,3,2,1,*p; p=&x11; for(i=0;i6;i+=3) printf(%d ,pi); A) 5 2 B) 5 1 C) 5 3 D) 9 740以下程序的输出结果是( ) # include void main( ) char *a=”abcdefghi”; void fun( char *s );fun(a); puts(a);void fun(char *s ) int x,y; char c; for(x=0,y=strlen(s)-1;xy;x+,y-) c=sy;sy=sx;sx=c; A). ihgfedcba B). abcdefghiC). abcdedcba D).ihgfefghi41void main( ) int i,a=5,6,9,11; for (i=0;i4;i+) if (ai%2=0) continue; printf(%d ,ai); 执行后输出结果是( )A) 编译出错B 6C) 5 9 11D) 5 6 9 1142以下对数组的定义正确的是( ) A) int x(10); B) int x5=0,1,2,3,4,5;C) int n=10; xn; D) int x = 0,1,2,3,4;43. 以下叙述中不正确的是( )A)switch是多分支结构语句B) continue语句的作用是使程序的执行流程跳出包含它的所有循环C) break 语句只能用在循环体内和switch语句体内D) 在循环体内使用break语句和continue语句的作用不相同44如下程序:void main( )inti=1,j=2,k=3;if(j+| k+)&i+) printf(%d,%d,%dn,i,j,k);执行后输出结果是( )A) 1,2,3B) 2,2,4C) 2,3,4D) 2,3,345以下叙述中,不正确的是( )A) 算法应该具有有穷性、确定性以及有效性等特点B) 算法可以用传统流程图、N-S流程图以及伪代码等形式来描述C) 基本结构只有顺序、选择、循环3种结构D) 结构化程序设计的思想是自顶向下、逐步细化、模块化设计以及结构化编码46在C语言中,函数返回值的类型最终取决于( )A) 函数定义时形参的类型 B)return语句中表达式值的类型C) 调用函数时主函数所传递的实参类型 D)函数定义时在函数首部所说明的函数类型47 以下程序的输出结果是( ) void main() int i; for(i=a;iname49下面的程序输出是( ) int m=13; int fun2(int x,int y) int m=3; return(x*y-m); main() int a=7,b=5;printf(%dn,fun2(a,b)/m); A). 1 B). 2 C). 7 D). 1050下面的程序输出是( ) main() int x=100,a=10,b=20,ok1=5,ok2=0;if(ab) if(b!=15) if(!ok1) x=1; else if(ok2) x=10;x=-1; printf(%d n, x ); A). -1 B). 0 C). 1 D). 不确定的值51若有以下定义: int a =1,2,3,4,5,6,7,8,9,10, *p=a; 则值为3的表达式是( ) A). p+=2,*(p+) B). p+=2,*+p C). p+=3,*p+ D). p+=2, +*p52下面程序的输出是( ) int aa33= 2,4,6 ;void main() int i, *p=&aa00; for(i=0;i2;i+) if(i=0) aaii+1= *p+1; else +p; printf(%d, *p ); A). 23 B). 26 C). 33 D). 3653下面程序的输出是( ) void prtv(int *x) printf(%dn, +*x ); void main() int a=25; prtv(&a); A). 23 B). 24 C). 25 D). 2654 以下程序的运行结果是( ) void main( ) char a10=1,2,3,4,5,6,7,8,9,0; char *p; int i=8; p=a+i; printf(%sn,p-2); A) 6 B) 789 C) 6 D) 67855执行以下3条语句之后,则k的值是_ int x=4,y=7; x+;y+=2;k=y%x; A) 1 B) 2 C)4 D)356以下程序段 for ( k = 0, m = 4; m ; m - = 2 ) for( n = 1; n 4 ; n+) k+; 循环体语句” k +;” 执行的次数是_ A)16 B)12 C) 6 D) 857在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为( )A) char=int1ong int=floatdouble B) char int 1ong int=float=doubleC) charint 1ong int=floatdouble D) char=int =1ong int=float=1) & (x =50) & (x=1) | (x=50) | (x=1) & (x= 50) & (x =1)| (x =50) | (x=60) 61以下程序的输出结果是( ) # include main() char *p1,*p2,str50=ABCDEFG; p1=abcd; p2=efgh; strcpy(str+1,p2+1); strcpy(str+3,p1+3); printf(%s,str); A). AfghdEFG B). Abfhd C). Afghd D). Afgd62以下程序的输出结果是( ) main() int i; for(i=1;i6;i+) if(i%2) printf(#);continue; printf(*); printf(n); A). #*#*# B). # C). * D). *#*#*二 填空题1C语言源程序的扩展名为.c,可执行文件的扩展名为_。.exe2数组 int a35;共定义了_个数组元素。153C程序由函数构成,C程序总是从_开始执行.main()4 C语言中,用_ 关键字来包含如stdio.h之类的头文件。 include5函数的返回值是通过函数中的_语句来获得的。return6至少执行一次循环体的循环语句是 。dowhile 语句7对于不带返回值的函数,应当用关键字_定义函数。void8多分支结构的程序,通常选用_语句来实现。 switch9若char ch=25yi6有以下语句,则编译后分配给数组ch的内存占用的字节数为_。610下面运算符 , + = 按照优先级从高到低排列顺序为_ _。+ & |18getchar( ) 函数的功能是 。从标准输入设备读取下一个字符19写出下面表达式的值 6*4/7+8%3 _ 5 x=5 ; y=2; (x+)+y _ 7 8-4=5+3 _ 0 64-2 ? 4%2: 3 _ _ _ 0 x=2,y=2; x|!y _ 1 x=3 ; x+=x-=2 _ _ 220下面invert函数的功能是将一个字符串str的内容颠倒过来,请填空。# include void invert(char str ) int i, j, ; k for(i=0,j=strlen(str) ; ij; i+,j- ) -1 k=str i ; str i =str j ; strj=k;三 程序阅读题1以下程序的运行结果是 _1 #include void main() int m=3; if(-m3) printf( %dn,-m); else printf(%dn,+m); 2执行下面程序段后, 输出结果是_ i=6 j=3 m=7#include int i=2; int fun(int x) int k,j=1; i=x*2; k=i+j; return k; void main( ) int m,j=3; m=fun(j); printf(“i=%d j=%d m=%dn”,i,j,m);3下面程序的输出是_ 12 void main( ) int arr10,i,k=0; for(i=0;i10;i+) arri=i; for(i=1;i4;i+) k+=arri+i; printf(%dn,k); 4下面程序的输出结果是_234567 #include #include #define MAX_COUNT 6 void fun() ; void main( ) int count; for(count=1;count=MAX_COUNT;count+) fun(); void fun() static int i;i+=2;printf(%d,i-); 5下面程序的输出是_6void main() int a =2,4,6, *ptr=&a0;int x=8, y, z; for(y=0;y3;y+)z=(*(ptr+y)x)?*(ptr+y) : x;printf(“%dn”, z); 6下面程序的输出是_12 main() int arr10,i,k=0; for(i=0;i10;i+) arri=i; for(i=1;i4;i+) k+=arri+i; printf(%dn,k); 7下面程序的输出结果是_ 2 4 int t(int x,int y,int cp,int dp) cp=x*x+y*y; dp=x*x-y*y; void main( ) int a=4,b=3,c=2,d=4; t(a,b,c,d); printf(%d %dn,c,d);8下面程序的正确运行结果是_str =abdefvoid main() static char str =”abcdef”; void abc(char str ); abc(str); printf(“str =%sn”, str); void abc(char str ) int a,b; for(a=b=0;stra!=0;a+) if(stra!=c) strb+=stra; strb=0;9下面程序的输出结果是_10int fun(int *x,int n)if(n=0)return x0;else return x0+fun(x+1,n-1);void main( )int a=1,2,3,4,5,6;int k=fun(a,3);printf(“%dn”,k);10执行下面程序段后, 输出结果是_ i=6,x=10 void main( ) int i,x; for(i=1,x=1;i=10) break; if(x%2=1) x+=5;continue; x-=3; printf(“i= %d, x=%dn”, i, x); 11下面程序的执行结果是_ 2 3 5 7 8 9#include void main() int a6=2,5,7,3,9,8; int i,j,t; printf(n); for (j=0;j5;j+) for (i=0;iai+1) t=ai; ai=ai+1; ai+1=t; for(i=0;i6;i+) printf(%d ,ai);12下列程序执行后,输出的结果是_ _ 4 # include fun(int a) int b=0; static int c=3; a=c+,b+; return(a); void main() int a=2, i, k; for(i=0;i2;i+) k=fun(a+); printf “%dn”, k); 13下面程序若从键盘输入:Ref6ugcBDT8e,按回车键, 最后的执行结果是_ n=2 m=4 #include void main ( ) int m=0,n=0; char c; while ( (c=getchar( ) )!=n ) if (c=A & c=0 & c=9) n+; printf(n=%d m=%dn, n,m ); 14下面程序的执行结果是_74#include struct student int num; char name10; int score; ; struct student stu3=10101,Li Lin,86,10102,Zhang Fun,65,10104,Wang Min,71; void main( ) struct student *p; int k=0; for (p=stu;pscore; k/=3;printf(%dn,k);四 编程题(1). 教材中的例题以及习题册中的课后习题;(2). 上课时所涉及到的实例程序。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!