C语言模拟试题22答案.doc_第1页
C语言模拟试题22答案.doc_第2页
C语言模拟试题22答案.doc_第3页
C语言模拟试题22答案.doc_第4页
C语言模拟试题22答案.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计模拟试题(二)一、选择题(每题1.5分,共30分)。1一个C程序的执行是从( A )A)本程序的main函数开始,到main函数结束。B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。C)本程序的main函数开始,到本程序文件的最后一个函数结束。D)本程序文件的第一个函数开始,到main函数结束。2定义双精度实型变量应使用( C )A) long int B) float C) double D) char 3C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符应是( C )A) 必须为字母 B) 必须为下划线C) 必须为字母或下划线 D) 可以是字母、数字和下划线中任一种字符4下面正确的字符常量是( C ) A) “c” B) “ C) w D) xy 5若有代数式,则不正确的C语言表达式是( C ) A) B) C) 3*a*e/b*c D) a*e/c/b*36putchar函数可以向终端输出一个( D ) A) 整型变量表达式 B) 实型变量 C) 字符串D) 字符或字符型变量值7阅读程序 main() int a10=1,2,3,4,5,6,7,8,9,0,*p; p=a; printf(“%xn”,p+); printf(“%xn”,p); 该程序有两个printf语句,如果第一个printf语句输出的是199,则第二个printf语句的输出( D ) A) 19a B) 200 C) 201 D) 19b8已知x=43,ch=A,y=0,则表达式(x=y&chB&!y)的值是(C)A) 0 B) 语法错C) 1 D) “假” 判断char型变量c1是否为小写字母的正确表达式为( D) A) a=c1=a)&(c1=c1)|(z=a)&(c1=z)10以下程序的运行结果是(B)#include “stdio.h” main( ) int a,b,d=241;a=d/100%9; b=(-1)&(-1); printf(“%d,%d”,a,b); A) 6,1 B) 2,1 C) 6,0 D) 2,011以下程序段(C)x=-1; do x=x*x; while(!x); A) 是死循环B)循环执行两次 C) 循环执行一次D) 有语法错误12以下叙述中正确的是(C) A) 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B) do-while循环由do开始,用while结束,在while(表达式)后面不能写分号C)在do-while循环体中,一定要有能使while后面表达式的值变为零的操作D) do-while循环中,根据情况可以省略while13在C语言中,引用数组元素时,其数组下标的数据类型允许是(C)A) 整型常量B)整型表达式C) 整型常量或整型表达式D) 任何类型的表达式14对两个数组a和b进行如下初始化char a=“ABCDEF”; char b=A, B,C, D, E, F;则以下叙述正确的是(D)A) a与b数组完全相同B) a与b长度相同C) a与b中都存放字符串D)a数组比b数组长度大15C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是(B)A)地址传递B) 单向值传递C)由实参传给形参,再由形参传回给实参D)由用户指定传递方式 16若有如下宏定义:#define X 5 #define Y X+1 #define Z Y*X/2执行以下printf语句后,输出结果是(D) int a; a=Y;printf(“%dn”,Z); printf(“%dn”,-a); A) 7 B) 12 C) 12 D) 7 6 6 5 517若有语句int *p,a=4;和p=&a;下面均代表地址的是(D)A) a,p*&a B) &*a,&a,*p C) *&p,*p,&a D) &a,p,&*p18设有如下说明语句struct stu int a; float b;stutype;下面叙述不正确的是(C)A) struct是结构体类型的关键字B) struct stu是用户定义的结构体类型C) stutype是用户定义的结构体类型名D) a和b都是结构体成员名19在位运算中,操作数每右移一位,相当于(B)A) 操作数乘以B) 操作数除以C) 操作数除以D) 操作数乘以420下面程序段的执行结果是(B) char str=“ABC”,*p=str; printf(“%dn”,*(p+3); A) 67 B) 0 C) 字符C的地址D) 字符C二、填空题(每空2分,共20分)1.一个C源程序中至少应包括一个( main函数 )。2执行printf(“%c”,a+3)的执行结果为( d )。3有定义int a4=3,4,5,6;则a2的值为( 5 )。4有如下定义: int i=3,j=4,*p1,*p2; p1=&i; p2=&j; printf(“%d%d”,*p1,*p2); 则结果为( 3 4 )。5若a是int型变量,则表达式a=25/3%3的值为( 2 )。6有int a=3,b=4,c=5;则表达a|b+c&b= =c的值为( 1 )。7在C语言中,一个函数一般由两部分组成,它们是( 说明部分)和( 执行部分 )。8下面程序段的运行结果是( HELLO! )。 char s80,*sp=”HELLO!”;sp=strcpy(s,sp);s0=h; puts(s);9.若执行fopen函数时发生错误,则函数的返回值是(NULL或者0 )。三、判断题: (每题1分,共10分)。1在C系统中,将实型数据赋给整型变量时,小数部分自动舍弃。( )2A和“A”是完全相同的字符。( )3若定义了一维数组a,则第i个元素值ai可用*(a+i)来计算。( )4若有说明语句:char c=72;则变量c包含两个字符。( )5若使用一维数组名作函数参数,则实参数组类型与形参数组类型可以不匹配。( )6在C语言中,可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值。( )7一个程序中如外部变量与局部变量同名,则在局部变量起作用的范围内外部变量不起作用。( )8for循环是先执行循环体语句,后判断表达式。( )9.在C程序中,main函数必须位于程序的最前面。( )10宏定义不是C语句,行末不必加分号。( )四、程序改错(5分)。想输出数组的10个元素,用以下程序行不行?如不行,请改正。main()int a10=0,1,2,3,4,5,6,7,8,9,i; for(i=0;i10;i+,a+) 改为:for(i=0;i10;i+) printf(“%d”,*a); 改为:printf(“%d”,ai);答:不行,a是数组名,代表数组的起始地址,是一个常量,不能进行自增自减运算。五、写出下列程序的执行结果(每题5分。共10分)。1main()int m,n; for(m=1;m5;+) for(n=1;n=m;n+) printf(“%4d”,m*n); printf(“n”); 112 43 6 94 8 12 162. main() int *p1,*p2,*p,i1,i2; i1=10; i2=20; p1=&i1; p2=&i2; printf(“%d,%dn”,*p1,*p2); p=p1; p1=p2; p2=p; printf(“%d,%dn”,*p1,*p2); 10,20 20,10 六、编程题(25分)1.求Fibonacci数列的前20项。(10分)Main()d int f20,i; F0=1;f1=1; For(i=2;i20;i+) Fi=fi-1+fi-2; For(i=0;i20;i+) Printf(“%6d”,fi);2编写用选择法和起泡法对n个整数排序的函数,并调用其对10个数排序(15分)。Void bubble(int a ,int n) int i,j,t; For(j=1;j=n-1;j+) For(i=0iai+1) t=ai;ai=ai+1;ai+1=t; Void sort(int a,int n) int I,j,k,t; F

温馨提示

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

评论

0/150

提交评论