高级语言程序设计练习题-4.2_第1页
高级语言程序设计练习题-4.2_第2页
高级语言程序设计练习题-4.2_第3页
高级语言程序设计练习题-4.2_第4页
高级语言程序设计练习题-4.2_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

(一)填空题:1C语言程序的基本单位是_函数_。2在C语言中,数字056是一个_八_进制数,0xFF是一个_十六_进制数。3.若程序中使用了函数scanf(),则必须包含的头文件名为stdio.h。4. 若程序中使用了函数strlen(),则必须包含的头文件名为string.h。5C语言程序的三种基本结构是_循环_、_顺序_、_选择_。6.若程序中使用了函数sqrt(),则必须包含的头文件名为math.h。7C语言中运算对象必须是整型的运算符是%。8C语言中整型数据除以整型数据得到整形数据。9C语言源程序文件的扩展名是.c;经过编译后,所生成文件的扩展名是;经过链接后,所生成的文件扩展名是.exe。 10.若定义int a35;则a数组所含数组元数个数是15,sizeof(a)的值是4,其首地址是a00。11在C语言中,数组名是数组的,同时它是一个_指针_ 常量。12判断字符型变量 ch是否为小写英文字母的C语言表达式为_。13判断变量a的数值范围1a10的C语言表达式是_a=1&ax)&(b=yz);后,a的值为4,b的值为2。 18字符串student的长度是8,它在内存中的字节数为。 19.设a、b、c为整型数,且a=2,b=3,c=4,则执行语句a*=16+(b+)-(+c);后,a的值是28。20执行int x,y,z;x=y=1;z=(x+,+y,y+);后,则x=1,y=3,z=3。21定义语句intx,y;,执行y=(x=1,+x,x+2);语句后,则x=2,y=4。22. 执行下列语句int a=2;a+=a-=a*a; 后,a的值是0。23设函数外有整型变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是 _。24. 有以下程序(注:字符a的ASCII码值为97)#include int main() char *s=abc ; do printf(%d,*s%10) ; +s;while(*s) ;return 0;程序运行后的输出结果是。25. 以下程序运行后的输出结果是。 #include intfun(intx) int p ; if (x=0 | x=1) return(3) ; p=x-fun(x-2) ;return p ; intmain( ) printf(%dn , fun(9) ; return 0; 26. 有以下程序: #include int main() inta,b=0;for(a=0;a+=2;);b+=a;printf(%d,%dn,a,b);程序运行后的输出结果是 。27. 以下程序运行后的输出结果是。#include int main( ) int i , j , row , column , m ; int array33=100 , 200 , 300 , 28 , 72 , -30 , -850 , 2 , -26 ; m=array00;for(i=1 ; i3 ; i+) for(j=0 ; j3 ; j+) if(arrayijm) m=arrayij ; row=i ; column=j ; printf(%d,%d,% dn,m,row,column); return 0;28对于以下宏定义:#define M 1+2#define N2*M+1执行语句“x=N;”之后,x的值是。29对于以下宏定义:#define M(x) x*x#define N(x,y) M(x)+M(y)执行语句z=N(2,2+3);后,z的值是。30已知老师记录描述为struct teather int id; struct int y;int m;int d;birth;t;将变量t中的d成员赋值为12 的语句为_ _ _。31下面语句中的指针s所指字符串的长度是_。 char *s=tNameAddresn ; 32使用fopen(abc.txt,“w+”)打开文件时,如abc.txt文件不存在,则_ _。33C语言中,根据数据的存放形式,文件可以分为_文件和_文件。34C语言中,文件的格式化输入输出函数对是_和_。35C语言中用_函数打开文件,用_ _函数关闭文件。36. 下面程序给一维数组输入数据,找出下标为偶数的元素的最小值并输出。 #include int main() int a10,min,i;for(i=0;i10;i+)_;min=a0;for( i=2; i10; i=i+2 )if(_) min=ai; printf(%d,min);return 0;37. 下面程序是用递归函数实现求两个整数的最大公约数,主函数读入待求的两个整数并调用公约数函数求解,输出结果。请在横线上填入相应的语句以使程序完整。#include intGcd( int m, int n) int r; r=m%n;if()return n;return;int main() intm,n;scanf(%d%d,&m,&n);printf(Gcd of m and n is: %dn, );return 0; (二)选择题:1第一个结构化程序设计语言是。A)PascalB)C C)BasicD)Fortran2以下哪一种程序设计语言是目前最受欢迎的编程语言之一。A)PascalB)C C)BasicD)Fortran3C语言规定:源程序中main函数的位置_。 A) 必须在最开始 B) 必须在调用的函数的后面 C) 可以任意 D) 必须在最后面 4程序存储思想是提出来的。A)丹尼尔里奇B)冯诺依曼 C)贝尔D)马丁理查德5计算机中的所有信息都是以的形式存储在机器内部的。A)字符B)二进制编码C)BCD码D)ASCII码6C语言中,下列哪一个不是合法的标识符_。A) _fileB) printf C)xyz.cD) ab3C7C语言中,下列哪一个是合法的标识符_。A) 3*X B) for C)_filename D) $X8关于软件和程序,下列说法不正确的是 _。 A) 软件的核心是程序 B) 软件就是程序C) 软件=程序+文档 D) 软件中文档必不可少9C语言中,错误的转义字符是( )。A) n B) 101 C) D) 10810属于C语言基本数据类型的是_。A)数组型B)浮点型 C)指针型D)结构型11以下正确的C语言变量名是_。A) %k B) a+b C)a123D) test!12C语言中主函数的个数是_。A)2个B) 1个C)任意个D)10个13不属于C语言基本数据类型的是_。A)字符型B)浮点型 C)整型D)结构型14在C语言中,合法的字符常量是_。 A) 084B) x43C) abD) 0 15执行语句a=4*5,a*2,a+15;后a的值是_。A) 35 B) 40 C) 55 D) 2016C语言程序的三种基本结构是 _。A)顺序结构,选择结构,循环结构 B)递归结构,循环结构,转移结构C)嵌套结构,循环结构,顺序结构 D)递归结构,选择结构,顺序结构17以下选项中不属于字符常量的是_。A) C B) 072C) xCC D)C18设a为int型变量,分别执行下列赋值语句后,a所获得的值分别是_。 a=125.534; a=20.0/3; a=(int)125.521%4;A)125,6,31B)125,6,1 C)125,7,1D)125.534,6.666666,1.52119若已定义x和y为double类型变量,则表达式“x=1,y=x+3/2”的值是_。 A) 1 B) 2 C) 2.0 D) 2.5 20以下选项中不属于字符常量的是_。A) s B) 117 C) x86 D) a 21以下选项中,不是C语句的是_。 A) a+=b; B) ;C) x+;+y; D) printf(“%d”,a)22以下非法的赋值语句是 _。A) n=(i=2,+i);B) j+;C) +(i+1);D) x=j0;23已知w=1,x=2,y=3,z=3,a=4,b=2;则执行语句 (a=wx)&(b=yz);后,a,b的值为_。 A) 1和1 B) 0和0 C) 4和2 D) 0和224设有语句:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4 的值是 _。A) 2.5B) 2.75C) 2.0 D) 0.025执行语句a=4*5,a*2,a+15;后a的值是_。A) 35 B) 40 C) 55 D) 2026阅读程序: #include stdio.h int main( ) int a ; float b, c;scanf(%2d%3f%4f,&a,&b,&c); printf(na=%d,b=%f,c=%f,a,b,c); return 0; 若运行时从键盘上输入9876543210(0表示回车),则程序的输出结果_。 A) a=98,b=765,c=4321 B) a=98,b=765.000000,c=4321.000000 C) a=98,b=765.0,c=4321.0 D) a=98.0,b=765.0,c=4321.0 27下列四种数组定义中,合法的数组定义是 _ 。 A) char a = hello;B) int a4=4,3,2,1,0;C) char a=hello;D) char a5= hello;28下列_循环不是无限循环。A)for(y=0;x=1;+y); B)for(;x=0);C)while(x=1) x=1;D)for(y=1,x=1;x=+y;x+);29以下叙述正确的是 _。 A) do while语句构成的循环不能用其他语句构成的循环来代替 B) do w hile语句构成的循环只能用break语句退出C) 用do while语句构成的循环,在while后的表达式为非零时结束循环D) 用do while语句构成的循环,在while后的表达式为零时结束循环 30下面的表达式中值为0的是_。A) 5%7B) 5/7.0 C) 5/7 D) 5*731设int k;则语句for(k=0;k=1;k+);和语句for(k=0;k=1;k+);执行的次数分别是_。A)无限和0 B)0和无限C)都是无限D)都是032下列_循环不是无限循环。A)for(y=0;x=1;+y); B) for(;x=0);C) while(x=1) x=1;D) for(y=1,x=1;x=+y;x+);33有变量定义如下:double num;,要使得num的值为3.14159,正确的输入语句是_。A)scanf(%lf,num); B) scanf(%lf,&num); C)scanf(%d,&num);D) scanf(%f,&num);34设char x=abcde,y= a, b, c, d, e;那么_。A)x数组的长度大于y数组的长度B)x数组的长度等于y数组的长度C)x数组的长度小于y数组的长度D)x数组与y数组的存储区域相同35下面不正确的字符串赋值或赋初值方式是_。 A)char *str;str=string;B) char str7=s,t,r,i,n,g;C)char str110;strl=string; D) char str1=string,str220;strcpy(str2,str1); 36定义如下变量和数组:int i ; int x33=1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9; 则下面语句的输出结果是_。 for(i=0;i3;i+) printf(%d,xi2-i); A ) 1 5 9 B) 1 4 7 C) 3 5 7 D ) 3 6 9 37假设已定义char a10; char *p;那么下面语句正确的是_。A)p=a; B) a=abcdef;C) *p=abcdefD) p=*a;38若有说明:int a=15,12,-9,28,5,3,*p=a;;则下列_表达式是错误的。A)*(a=a+3)B)*(p=p+3) C) pp4D) *(a+*(a+5)39为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与_组成配对关系。A) 缩排位置相同的if B) 在其之前未配对的ifC) 在其之前未配对的最近的if D) 同一行上的if40若char a7=p,r,o,g,r,a,m; char *p=a;那么下面_能 得到字符o。A)*p+2; B)*(p+2); C) p+2D) p+,*p;41下列编译预处理指令中,不正确的是 _ 。A) #define M 3 B) #include stdio.hC) #include D) #define PI=3.14159 42宏定义#include G 9.8中的宏名G表示_。A)一个单精度实数 B)一个双精度实数C)一个字符串 D)不确定类型的数43设int a=9,b=20;则printf(%d,%dn,a-,-b);的输出结果是_。A)9,19B)9,20C)10,19D)10,2044以下关于switch语句和break语句的描述正确的是_。A) 在switch语句中必须使用break语句B) break语句只能用于switch语句体中C) break语句只能用于循环语句中D) 在switch语句中可以不使用break语句45下面关于函数的理解,不正确的是 _ 。A)函数可以嵌套定义B)函数可以嵌套调用C)函数可以没有形式参数 D)函数可以有多个形式参数46以下叙述中正确的是_。 A)全局变量的作用域一定比局部变量的作用域范围大 B)静态(static)存储变量的生存期贯穿于整个程序的运行期间 C)函数的形参都属于全局变量 D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值47若有定义int a23,对元素aij地址的不正确引用是 _ 。A) ai+j;B)*a+i*3+j;C) (a+i)+j ;D)*(a+i)+j;48若有以下语句: int a32=1,2,3,4,5,6, *p3; p0 = a1; 则*(p0+1)所代表的数组元素是_。 A) a01 B) a10 C) a11 D) a12 49下列对指针p的操作,正确的是 _ 。A)int *p;*p=2;B) int a5=1,2,3,4,5,*p=&a;*p=5;C)int a,*p=&a ;D) float a5;int *p=&a ;50对于C程序的函数,下列叙述中正确的是 _ 。A)函数的定义不能嵌套,但函数调用可以嵌套B)函数的定义可以嵌套,但函数调用不能嵌套C)函数的定义和调用均可以嵌套D)函数的定义和调用均不能嵌套51若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是。 A)函数调用可以作为独立的语句存在 B)函数调用可以作为一个函数的实参 C)函数调用可以出现在表达式中 D)函数调用可以作为一个函数的形参52. 函数的返回值类型由 _ 决定。A) return后的表达式B) 定义函数时指定的返回值类型C) 调用函数时临时决定D) 主调用函数的类型53以下不能对二维数组a进行正确初始化的语句是 _ 。 A) int a23=0;B) int a3=1,2,0;C) int a23=1,2,3,4,5,6;D)int a3=1,2,3,4,5,6 ;54下面对一维数组a进行正确初始化的语句是 _ 。 A) int a5=1,2;B) int a2=1,2,3,4,5;C) int a5= , ,1,2;D)int a5=1,2,3,4,5 ;55. 若函数定义时不指明函数的类型,则其默认的返回值类型是 _ 。A) voidB) 任意类型 C)intD)double56下面对一维数组定义错误的是 _ 。 A) int a=1,2,3,4;B) char a5;C) char a6=test;D)intn=5,an;57以下选项中正确的语句组是 _ 。 A) char s;s=BOOK!;B) char *s;s=BOOK!;C) char s10;s=BOOK!; D)char *s;s=BOOK!;58.若有下面的说明和定义: struct test intm1; char m2; float m3; union uu char u15; int u22; ua; ; 则在VC+系统中sizeof(struct test)的值是_。 A) 9 B) 12 C) 13D)1459.有如下定义:struct exam int x,y; v1;则 _是正确的引用或定义。A) exam.x=10;B)exam v2;v2.x=10;C)struct v2; v2.x=10; D) struct exam v2=10;60.设函数外有整型变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是 _ 。A) staticB) register C)autoD) extern61当用户输入的字符串含空格时,应使用 _ 函数读入字符串。 A) scanf()B) gets() C) getchar() D) getc()62.设函数中有整型变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是 _。A) autoB) register C) staticD) extern(三)判断题:1在while循环中允许使用嵌套循环,但只能嵌套while循环。2在for循环中允许使用嵌套循环,但只能嵌套for循环。3. while、do-while、for循环中的循环体语句都至少被执行一次。4一个C语言源程序文件中可以有多个main函数。5C程序中的else总是与在其之前未配对的最近的if组成配对关系。6switch语句的case表达式必须是常量表达式。7switch语句中必须要有default语句。8自增运算符(+)或自减运算符(-)只能用于变量,不能用于常量或表达式。9函数的形式参数是局部变量。10访问数组元素时其下标必须是常量,不允许是表达式。11数组的元素作为函数的实参时采用的参数传递方式是地址传递。12C语言规定只能引用数组元素而不能一次引用整个数组。13定义int *p;,则二级指针变量p存放的是指针变量的地址。14定义int *p4;,则标识符p是一个指针,指向一个含有4个整型元素的一维数组。 15定义int( *p)4;,则标识符p是一个指针,指向一个含有4个整型元素的一维数组。16函数不能嵌套定义但可以嵌套调用。17求余符号%两边必须是整型数据。18函数不能嵌套定义但可以嵌套调用。19数组的名称作为函数的实参时采用的参数传递方式是地址传递。20条件编译只能在调试程序时使用。21一个函数利用return可以返回多个函数值。22联合变量的所有成员共享同一段内存空间,其占用的内存是所需内存最大的那个成员的空间。23用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用。24结构体变量的所有成员共享同一段内存空间,其占用的内存是所需内存最大的那个成员的空间。(四)读程序题: 1#include intmain() int x=1,a=0,b=0;switch(x) case 0:b+; case 1:a+;case 2: a+,b+;printf(a=%d,b=%dn,a,b);return 0;2.#include int main() int a=1,b=2;for( ;a7 ) break; b+;printf(%d,%dn,a,b);return 0;3.#include void func(int b) int j; for(j=0;j4;j+) bj=2*j; int main() int a=5,6,7,8,i; func(a); for(i=0;i4;i+ ) printf(%d,ai); return 0; 4.#include stdio.hint main( ) int i , j , x=0 ; for (i=0 ; i2 ; i+) x+ ; for (j=0 ; j3 ; j+) if(j%2) continue ; x+ ; x+ ; printf(x=% dn , x) ; return 0;5#include int main() int a=0,b=3,m=0;switch(a%3) case 0: m+; break; case 1: m+; switch(b%2) default: m+; case 0: m+;break; printf(m=%dn,m); return 0;6#include int a(int x) static int y=1; y=y*x; return y; int main() int i; for(i=1;i=5;i+) printf(%dn,a(i); return 0; 7#include static int a=5;void p1() printf(%dn,a*a);a=2;void p2() printf(%dn,a=a*a*a);int main() printf(%dn,a);p1(); p2();printf(%dn,a);return 0;8.#include sub(int x , int y , int *z) *z=y-x ; int main( ) int a , b , c ; sub(10 , 5 , &a) ; sub(7 , a , &b) ; sub(a , b , &c) ; printf(%d , % d , % dn , a , b , c) ; return 0; 9.#include int b;int f(int c) b+;return(c+b); int main() int a=2;b=3;printf(“%dn”,f(a);printf(“%dn”,f(a);return 0;10#include intmain ( )char a=Language, b=Programe; char *p1, *p2; int k; p1=a; p2=b; for(k=0; k=7; k+) if(*(p1+k) = *(p2+k) printf(%4c, *(p1+k); return 0;11#include int main ( ) int array=1,2,3,4,5;int y=0,i,*p;p=&array4; for(i=0;i=3;

温馨提示

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

评论

0/150

提交评论