C语言考试考试复习题.doc_第1页
C语言考试考试复习题.doc_第2页
C语言考试考试复习题.doc_第3页
C语言考试考试复习题.doc_第4页
C语言考试考试复习题.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、判断下列问题描述及语句正确与否,正确的打“”。1C的关键字都是小写的。( )2、C语言规定:在一个源程序中,main函数的位置必须在最开始。( )3一个复合语句是作为一个语句处理的且在逻辑上相互关联的一组语句。( )4、假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的值是8。( )5、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为静态存储。( )6# define PI=3.14159 ( )7、C语言中规定函数的返回值的类型是由return语句中的表达式类型所决定。( )8局部变量在进入代码块时生成,退出代码块时消失。( )9、在C语言中对文件操作必须先关闭当前文件,然后再打开一个新文件。( )10int a=123456;( ) 11、C语言程序的基本单位是语句。( )12函数可以嵌套定义,也可嵌套调用。( ) 13 switch与if不同,switch只能测试是否相等,而if中还能测试关系和逻辑表达式。( ) 14break和 continue语句都可用于选择结构和循环结构中。( )二、单项选择题:1、假设已定义char a10和char *p=a, 下面的赋值语句中,正确的是:( C ) A) a10=”Turbo C”; B) a=”Turbo C”;C) *p=”Turbo C”; D) p=”Turbo C”;2C语言中基本数据类型包括( B )。 A. 整型、实型、逻辑型 B. 整型、实型、字符型 C. 整型、字符型、逻辑型 D. 整型、实型、逻辑型、实型3、下面关于运算符优先顺序的描述中正确的是:( C ) A)关系运算符 算术运算符 赋值运算符 逻辑与运算符B)逻辑 运算符 关系运算符 算术运算符 赋值运算符C)赋值运算符 逻辑与运算符 关系运算符 算术运算符D)算术运算符 关系运算符 赋值运算符no D. studentno13、在C语言中,不正确的int类型的常数是:( A ) A) 32768 B)0 C) 037 D) 0xaf14以下不是死循环的语句为( D )。A. for(; ; x+=k); B. while(1)x+; C. for(k=10; ;k)sum+=k;D. for(;(c=getchar()!=n;)printf(“%c”,c); 15、以下叙述中不正确的是:( D ) A)在不同的函数中可以使用相同名字的变量 B)函数中的形式参数是局部变量 C)在一个函数内定义的变量只在本函数范围内有效 D)在一个函数内的复合语句中定义的变量在本函数范围内有效16以下错误的描述是( D )。A. 不同的函数中可以使用相同的变量名 B. 形式参数是局部变量 C. 一个函数内部定义的变量只能在本函数范围内有效 D. 在一个函数内部的复合语句中定义的变量可以在本函数范围内有效17、以下说法中正确的是:( D ) A)#define和printf都是C语句 B)#define是C语句,而printf不是 C)printf是C语句,但#define不是 D)#define和printf都不是C语句18若用数组名作为函数调用时实参,则实际上传递给形参的是( A )。 A数组首地址 B. 数组的第一个元素值C数组中全部元素的值 D. 数组元素的个数19、若有以下定义和语句:double r=99,*p=&r; *p=r;则以下正确的叙述是:( B ) A)以下两处的*p含义相同,都说明给指针变量p赋值 B)在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元 C)语句“*p=r;”把变量r的地址值赋给指针变量p D)语句“*p=r;”取变量r的值放回r中20已知int a,*p=&a;则为了得到变量a的值,下列错误的表达式是( A )。 A *&p B*p C p0 D*&a三、填空题:1、下面程序的功能是:输入一行字符,统计其中有多少个单词,单词之间用空格分开。请填空完成。# include main() char str81; int I, num=0,word=0 ; char c;gats(str);for(I=0; c=strI !=0;I+) if(c= ) word=0; else if word=0 word=1; num+; printf(“There are %d word in line. n”,num);2已知int *p,a; 则语句 p=&a;中的运算符&的含义是 将变量a的地址存入指针变量p中 。3、下面程序的功能是:用选择排序法对数组中10个数据按由小到大排序。请填空完成。void sort(int a,int n) int I,j,k,t; for(I=0;In-1;I+) k=I; for(j=I+1;jn;j+) if(ajak)k=j; if( k!=I )t=ak;ak=aI;aI=t; main() int b10,I;printf(“enter the arrayn”);for(I=0;I10;I+) scanf(“%d”.&bI); sort(b,10); printf(“the sorted array: n”);for(I=0;I10;I+) printf(“%d”,bI);printf(“n”);4凡在函数体内没有明显存储类别说明的变量是 自动变量 。5、判断m是否是素数 #include main()int m,i,k;scanf(“%d”,&m); k=sqrt(m); for(i=2;i=k+1) printf(“%d is a prime numbern”,m);else printf(“%d is not a prime numbern”,m);6已知: struct int k; char c; float a;test; 则sizeof(test)的值是 7 。 7、假设当年产值为100,工业产值的增长率分别为6%、8%、10%、12%时,求工业产值分别经过多少年可实现翻番。请填空完成。main() int y4,I; float s4=100,100,100,100,c4=0.06,0.08,0.10,0.12; clrscr(); for(i=0;i4;i+) yi=0; while( sibc的值是 。10设有以下程序: # include main( ) char c;while(c=getchar( ) !=?) putchar(-c);程序运行时,如果从键盘上输入:Y?N?,则输出的结果是 。11. 当接收用户输入的含空格的字符串时,应使用的函数是 gets() 。12. 在定义“int a56”后,第十一个元素是 a14 。13用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空 st=(char*) *maclloc(11) 。14把名为file的文件拷贝到新文件new.dat中,请填空将程序补充完整. #include main() int c; FILE *fp2, *fp2; p1=fopen(“file”, r ); p2=fopen(“new.dat”, w ); c= fgetc(p1) ; while (c!=EOF)fputc(c,p2); c=fgetc(p1); fclose(p1); fclose(p2); 四、读程序,写出运行结果:1、 main()int x=10,y=10,I; for(I=0;I8;y=+I) printf(“%d %d”,x,y);运行结果:10 10 9 12、main() int m=37,n=13;while(m!=n) while(mn) m=mn; while(nm) n=m; printf(“m=%dn”,m); 运行结果:m=13、main() int x=9;for(;x0;x) if(x%3=0) printf(“%d”, x); continue; 运行结果:8524、 main() int a=7,b=2; float x=2.5,y=4.7,z; z=x+a%3*(int)(x+y)%2/4; printf(“%fn”,z); z= (a+b)/2+(int)x%(int)y; printf(“%f”,z); 运行结果:2.500000 6.0000005main() int a=5,b=4,x,y; x=a+*a+*a+; printf(“a=%d,x=%dn”,a,x); y=b*b*b;printf(“b=%d,y=%dn”,b,y);运行结果:a=8,x=125b=1,y=16#include main() struct s1 char c4,*s;s1=“abc”,“def ”;struct s2 char *cp;struct s1 ss1;s2=“ghi”,“jkl”,“mno”; printf(“%c%cn”,s1.c0,*s1.s);printf(“%s%sn”,s1.c,s1.s);printf(“%s%sn”,s2.cp,s2.ss1.s);printf(“%s%sn”,+s2.cp,+s2.ss1.s);运行结果:adabcdefghimnohino7#include func(int b) int j;for(j=0;j4;j+) bj=j; main() int a4,k;func(a);for(k=0;k4;k+)printf(“%dn”,ak); 运行结果:01238. void fun() static int a=5; a+; printf(“a=%dn”,a); main()int m;for(m=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论