c语言程序设计模拟试题A_第1页
c语言程序设计模拟试题A_第2页
c语言程序设计模拟试题A_第3页
c语言程序设计模拟试题A_第4页
c语言程序设计模拟试题A_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、c语言程序设计模拟试题 A专业班级学号姓名题号-一一二二二-三四五六七八总分得分一、单选题(15分)1、 若有定义:int a=8, b=5, c ; 执行语句c = a/b+0.4 ;后,c的值为()。A) 1.4 B) 1 C) 2.0 D) 22、 以下程序中,while循环的次数是()。#i nclude void mai n(void) int i = 0;while (i10) if (i1) continue;if (i=5) break;i+;A) 1 B)死循环,不能确定次数C) 6 D) 103、以下程序的输出结果是()。#i nclude void mai n(void)

2、 int a = 0, i;for (i=1; i5; i+)v switch (i) case 0:case 3: a += 2;case 1:case 2: a += 3;default: a += 5;printf( %dn”,d);A) 31 B) 13 C) 10 D) 204、执行以下程序段后的输出结果是()。int x = 5;int m, n;n = (+x) + (+x);m = (x-) + (x-);printf( “%d %dn ”, m, n);A) 14 10 B) 13 13C) 14 14D) 14 125、执行以下程序后的输出结果是()#include voi

3、d main(void)int i = 0, j = 0, a = 6;if (+i0)|(+j0) a +;printf( “i=%d, j=%d, a=%dn ”,i, j, a);A) i=0, j=0, a=6B) i=1, j=1, a=7C) i=1, j=0, a=7D) i=0, j=1, a=76、执行以下程序后的输出结果是()#include void main(void)char a= ”abc0abc”; printf( “%s”, a);A) abc0abc B) abcC) abc0D) abc7、以下程序的输出结果是()#include void main(voi

4、d)int a = 1, b = 2, c = 3;printf( “%d ”, cba);A) 2 B) 1 C) 0D) 38、执行以下程序后, a 的值为( int *p, a = 10, b=1;p = &a; a = *p + b;A) 12B) 编译出错C) 10D) 11)。9、以下正确的叙述是()。A) 在 C 语言中, main 函数必须位于文件的开头B) C 语言每行中只能写一条语句C) C 语言本身没有输入、输出语句D) 对一个 C 语言进行编译预处理时,可检查宏定义的语法错误10、 以下各语句或语句组中,正确的操作是()。A) char s5=abcdeB) char

5、*s; gets(s);C) char *s; s=abcde;D) char s5; scan f(%s, &s);11、 设有以下说明语句,则下面的叙述中不正确的是()。struct ex int x ; float y; char z ; example;A) struct结构体类型的关键字B) example是结构体类型名C) x,y,z都是结构体成员名D) struct ex是结构体类型12、 对以下程序段,while循环执行的次数是()。int k=0while (k=1) k+;A)无限次 B)有语法错,不能执行C) 一次也不执行D)执行1次13、若已定义:int a9,*p=a

6、 ;并在以后的语句中未改变p的值,则不能表示a1地址的表达式是()A) p+1B) a+1C) a+D) +p14、函数调用:strcat(strcpy(str1,str2),st 的功能是()A)将串str1复制到串str2中后再连接到串str3之后B) 将串str1连接到串C) 将串str2复制到串str2之后再复制到串str3之后str1中后再将串str3连接到串str1之后D)将串str2连接到串str1之后再将串str1复制到串str3中15、在下列选项中,不正确的赋值语句是()D)a=b+c=1;A) +t;B) n1=( n2=( n3=0);C) k=i=j;二、程序填空(26

7、分)1、求 1 ! +2! +3! +。+10!#i nclude void mai n(void)float s = 0, t = 1;int n;for (n=1; ; n+) + 10! =%f ”,s);printf( 1! +2! +3 ! +。2、以下程序是用来统计从键盘输入的一个正整数中各位数字中零的个数,并求各位数字中最大者。例如:1080其零的个数是2,各位数字中最大者是8。#i nclude void mai n(void)un sig ned long num, max, t;int count;coun t=max=0;scanf(%ld, &num);do t= ;i

8、f(t=0) +co unt;elseif(maxt)_;num/=10; while (nu m);prin tf(co un t=%d,max=%ldn, count, max);3、 下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数。#in clude void mai n(void)int i, j;for(i=0; 13; i+) j = i*10+6;if ( ) continue;prin tf(%d,j);4、以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。void excha nge(i nt *x, int *y)int t;t=*y;*y

9、= ;*x = ;三、阅读程序,写出程序的输出结果(24分) 1、#include void main(void)char *s, *s1 = “here is”, *s2 = “key”; s = s1;while (*s1!= ?0?) s1+;while (*s1+=*s2+);s2 = s;while (*s2!= ?0?) s2+printf( “%dn ”, s2-s);2、#include void main(void)static int a = 1, 3, 5, 7;int *p3 = a+2, a+1, a;int *q = p;printf( “%dn ”, *(p0+1

10、) + *(q+2);3、include void main(void)int num,c;printf( 请输入一个整数: ); scanf(%d,&num);do c=num%10;printf(%d,c); while(num/=10)0); printf(n);4、include fut(int *s, int p23)*s=p11;void main(void)int a23 = 1,3,5,7,9,11, *p; p = (int *) malloc(sizeof(int); fut(&p,a);printf(%dn,*P);四、编程(35分)(1) sum=2+5+8+11+14

11、-,输入正整数 n,求sum的前n项和。(2) 求1100间的素数(素数1,且除了 1和自身外,不能被任何其它整数整除。(3) 使用指针数组对输入输入的3个整数序列(每个序列 5个整数)进行排序,排序方法 不限。(10)有15个数存放在一个数组中,输入一个数,用折半查找法找出该数是数组中第几个元 素。若该数不在数组中,则打印出No found ”。c语言程序设计模拟试题 B专业班级学号姓名题号-一一二二二-三四五六七八总分得分五、单选题(15分)1、以下程序的输出结果是()。#i nclude void mai n(void) int a = 5, b = 4, c = 6, d;printf

12、( %dn”,d=ab?(ac?a: c): b);A) 5 B) 4 C) 6 D)不确定2、以下程序的输出结果是()。void mai n(void) int a = 4, b = 5, c = 0, d;d = !a & !b | !c; printf( %dn ”,d);D)-A) 1 B) 0 C)非0的数 3、以下程序的输出结果是(#in clude int f(void) static int i = 0; int s =1;s += i;i+; return (s);void main(void)int i, a = 0;for (i=0; i5; i+) a += f() p

13、rintf( “%dn ”,a);A) 1 B) 0 C)非 0 的数 D)-4、 执行以下程序段后的输出结果是()。int x = 2, y = 3, z;z = (x+, y+);printf( “%d”, z);A) 3 B) 2 C) 5 D) 45、 执行以下程序后的输出结果是()。#include void main(void)int i = 010, j =10, a = 0x10;printf( “%d, %d, %dn ”,i, j, a);A) 8, 10, 16 B) 8, 10, 10 C) 10, 10, 10 D) 10, 10, 166、 以下程序的输出结果是()

14、。 #include void main(void)int a = 7, float x = 2.5; y = 4.7; printf( “%g ”, x+a%3*(int)(x+y)%2/4);A) 0 B) 2.75 C) 2 D) 2.57、 下列语句行中,哪些语句能正确进行字符小、串赋值操作()。A) char st45 B) char s5= ,A?, ,B?, ,C?, ,D?, ?E? C) char *s; s = “ABCDE” D) char *s; scanf( “%s”, s);8、以下程序的输出结果是()。#include void main(void)char a

15、= 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, *p = a+5; printf( “%d ”, *-p);A) 非法B) a4 的地址C) 3 D) 59、以下程序的运行结果是()。#include void main(void)int a43= 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12;int *p4, j;for (j=0; j4; j+) pj=aj; printf(%2d,%2d,%2d,%2dn, *p1, (*p)1, p32, *(p3+1);D) 1, 1, 7, 5A) 4, 4, 9, 8B) 程序出错 C) 4, 2,12,1

16、110、以下 C 语言中,对函数不正确的描述是()。A) 当用数组名作形参时,形参数组改变可使实参数组随之改变B) 允许函数递归调用C) 函数形参的作用范围只是局限于所定义的函数内D) 函数说明必须在主调函数之前11、以下所列的各函数首部中,正确的是( A) void play(var :Integer,var b:Integer) C) void play(int a,int b)。B) void play(int a,b)D) Sub play(a as integer,b as integer)12、以下程序执行后 sum 的值是()void main(void)int i , sum;

17、for (i=1;i6;i+) sum+=i; printf(%dn,sum);A)15 B)14 C) 不确定D) 013、以下叙述中不正确的是()。A) 在 C 中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。B) 在 C 中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容。C) 在 C 中,外部变量的隐含类别是自动存储类别。D) 在 C 中,函数形参可以说明为 register 变量。41、在 C 语言中,合法的字符常量是()。A) 084B) x43C) ab D) 015、以下函数调用语句中含有的实参个数是(fun c(exp1,exp2),(exp3,exp4,exp

18、5);A) 1B) 2C) 4D) 5二、程序填空(26分)函数,以实现比较两个字符串大小的功能。1、定义 compare(char *s1, char *s2)#i nclude void compare(char *s1, char *s2)while(*s1 &*s2&) s1+;return;void mai n(void)printf(%dn, compare(abCd, abc);2、 函数fun的功能是:使字符串str按逆序存放。void fun (char str)char m; int i, j;for (i=0, j=strlen(str); i ; i+, j-) m =

19、 stri;stri = ;strj-1 = m;prin tf(%sn,str);3、以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。#i nclude void main( void)float x1000 , sum=0.0, ave, a;int n=0,i;printf(Enter mark : n”);scanf(%f, &a);while (a=0.0& * 1000)sum+x n= ;n+ ;scanf(%f , &a);ave=;printf(Output : n”);printf(ave=%fn

20、, ave);for (i=0;i n;i+)if ( ) printf (”fn,xl);,累加的和值放入x4、以下fun函数的功能是:累加数组元素中的值.n为数组中元素的个数 所指的存储单元中。void fun (i nt b ,i nt n, int *x)int k, r=0;for (k=0; kn; k+) r = ; = r;六、阅读程序,写出程序的输出结果(24分)1、#include void mai n(void)int x = 1;int x = 2;int x = 3;printf( “ x= %dn ”,x);printf( “x= %dn ” , x);printf

21、( “ x= %dn ”,x);2、#include void mai n(void)static char s = “hin a ”,c;int i, j;for (i=0; i=1; j-)if (sjsj-1) c = sj; sj = sj-1; sj-1 = c;printf( “%dn ”, *(p0+1) + *(q+2);3、include void f(int c) int a=0;static int b=0;a+;b+; printf(%d: a=%d, b=%dn, c, a, b);void main(void) int i;for (i=1; i=3; i+) f(

22、 i );4、#include struct stu int num; char name10; int age;void fun(struct stu *p)printf(%sn,(*p).name);void main(void)struct stu students3= 9801,Zhang,20, 9802,Wang,19, 9803,Zhao,18 ; fun(students+2);四、编程( 35 分)(1)输入一个 double 类型的数, 使该数保留小数点后 2 位,且对第 3 位进行四舍五入处理。 (2)编写函数 strcopy(s, t) ,将字符串 s 复制到字符串 t

23、 中。(3)求 21000 中的所有完数 (某数因子和等于其本身的数称为完数。例:28 的因子是 1,2,4,7,14,且 1+2+4+7+14=28 ,故 28是完数。 )c语言程序设计模拟试题 C专业班级学号姓名题号一一一二二二-三四五六七八总分得分七、单选题(15分)1、若变量a是int类型,并执行了语句 a = ,A?+1.6;后,则正确的叙述是()。A) a的值是字符 咒?B) a的值是浮点型C) a的值是字符2A?的ASCII值加1D)不允许字符型和浮点型相加2、 执行以下程序段后,变量y的值是()。int x, y;x = 1;y =什+x*5);A) 5 B) 10 C) 15

24、 D) 203、9、执行以下程序段后的输出结果是()int a = 10;printf( %d ”,+x);printf( %d ”,x-)A) 11 10 B) 11 11 C) 10 11 D) 10 104、 执行以下程序后的输出结果是()#i nclude void mai n(void)int x = 10;printf( %d %d %dn ”,+x, -x, -x+);A) 11 10 -10 B) 10 10 -10 C) 10 11 -11 D) 11 11 -105、下面正确的自定义标识符是()A) a2b3 B) int C) int abc D) 2a3b6、 以下程序

25、的输出结果是()#i nclude void mai n(void)int a = 12, n = 5;printf( %d ”,a%2=( n%2);A) 01B) 1C) 0D) 0x17、若有下列说明和语句: int a45, (*p)5;p = a; 则对 a 数组元素的正确引用是 ( )。A) p+1B) *(p+3) C) *(p+1)+3 D) *(*p+2)8、执行 printf(%dn, strlen(anx41)语句,其输出结果是( )。A) 8B) 7 C) 6 D) 49、若定义 a2=1,2,3,4,5,6,7;则 a 数组中行的大小是( )。A) 2B) 3C) 4

26、 D) 无确定值10、若 fp 为文件指针,且文件已正确打开, i 为 long 型变量,以下程序段的输出结果是()。fseek(fp, 0, SEEK_END)i=ftell(fp);printf(i=%ldn, i);A) -1B) fp 所指文件的长度,以字节为单位C) 0D) 211、当调用函数时,实参是一个数组名,则向函数传送的是()。A) 数组的长度B) 数组的首地址C) 数组每一个元素的地址D) 数组每个元素中的值12、若变量 c 为 char 类型,则能正确判断出 c 为小写字母的表达式是()。A) a=c= a)|(c= z)C) (a=c)D) (c= a)&(c= z)1

27、3、以下对 C 语言函数的有关描述中,正确的是()。A) 在 C 中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B) C 函数既可以嵌套定义又可以递归调用C) 函数必须有返回值,否则不能使用函数D) C 程序中有调用关系的所有函数必须放在同一个源程序文件中14、若有以下定义和语句,则则输出结果是()int *pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;printf(%dn,*p,*pp);A)10,20 B)10,10 C)20,10 D)20,2015、设有语句 char a=72; 则变量 a 包含的字符个数是( )。A)1B)2C) 3D)说明不合法

28、八、程序填空( 26 分)1、以下程序用来检查二维数组是否对称(即:对所有i ,j 都有 aij=aji )。#include void mai n(void)int a44=1,2,3,4, 2,2,5,6, 3,5,3,7, 8,6,7,4; int i, j, foun d=0;for(j=0; j4; j+)for(i=0; i4; i+)if ()found=;break; if(found) break;if(found) printf(”不对称 n);else printf(”对称 n);2、 下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。#i n

29、clude #in elude void mai n(void)char a=cla nguage,t;int i, j, k;k = strle n(a);for (i=0; i=k-2; i+=2)for (j=i+2; j=k; )if () t=ai; ai=aj; aj=t;puts(a);prin tf(n ”);3、 以下程序中用户由键盘输入一个文件名,然后输入一串字符(用#结束输入)存放到此文 件文件中形成文本文件,并将字符的个数写到文件尾部。#i nclude void mai n(void)FILE *fp ;char ch,fname32 ; int count=0 ;p

30、rin tf(I nput the file name: ) ; sca nf(%s, fname);if (fp=fopen( ,w+)=NULL) printf(Cant open file : %s n, fname); exit(0);printf(Enter data : n);while (ch=getchar()!=#) fputc(ch , fp);coun t+;fprintf( , n%dn , count);fclose(fp);素数是4、以下程序求a数组中的所有素数的和,函数isprime用来判断自变量是否为素数。 只能被1和本身整除且大于1的自然数。#in clude int isprime(i nt);void mai n(void)int i,a10,*p=a,sum=0;prin tf(E nter 10 num:n);for (i=0;

温馨提示

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

评论

0/150

提交评论