收藏 分享(赏)

下载c试题答案.doc

上传人:tkhy51908 文档编号:7209580 上传时间:2019-05-10 格式:DOC 页数:18 大小:106.50KB
下载 相关 举报
下载c试题答案.doc_第1页
第1页 / 共18页
下载c试题答案.doc_第2页
第2页 / 共18页
下载c试题答案.doc_第3页
第3页 / 共18页
下载c试题答案.doc_第4页
第4页 / 共18页
下载c试题答案.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、c 语言程序设计模拟试题 A 答案专业 班级 学号 姓名 题号 一 二 三 四 五 六 七 八 总分得分 一、单选题(15 分)1、若有定义:int a=8, b=5, c; 执行语句 c = a/b+0.4 ;后, c 的值为( B ) 。A) 1.4 B) 1 C) 2.0 D) 22 、以下程序中,while 循环的次数是( B ) 。#include void main(void) int i = 0;while (ivoid main(void) int a = 0, i;for (i=1; ivoid main(void)int i = 0, j = 0, a = 6;if (+i

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

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

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

5、的语句中未改变 p 的值,则不能表示 a1 地址的表达式是( C ) 。A) p+1 B) a+1 C) a+ D) +p14、函数调用:strcat(strcpy(str1,str2),str3)的功能是( C ) 。A) 将串 str1 复制到串 str2 中后再连接到串 str3 之后B) 将串 str1 连接到串 str2 之后再复制到串 str3 之后C) 将串 str2 复制到串 str1 中后再将串 str3 连接到串 str1 之后D) 将串 str2 连接到串 str1 之后再将串 str1 复制到串 str3 中15、在下列选项中,不正确的赋值语句是( D ) 。A) +t

6、; B) n1=(n2=(n3=0); C) k=i=j; D) a=b+c=1;二、程序填空(26 分)1、求 1!+2!+3 !+。 。 。+10!#include void main(void)float s = 0, t = 1;int n;for (n=1; nvoid main(void)unsigned long num, max, t;int count;count=max=0;scanf(“%ld“, do t= num%10 ;if(t=0) +count;elseif(maxvoid main(void) int i, j;for(i=0; ivoid main(void

7、)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);102、#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) + *(q+2);83、#include void main(void) int num,c;printf(“请输入一个整数

8、:“);scanf(“%d“,do c=num%10; printf(“%d“,c); while(num/=10)0); printf(“n“);35-534、#include #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(printf(“%dn“,*p);9四、编程(35 分)(1)sum=2+5+8+11+14-,输入正整数 n,求 sum 的前 n 项和。(2)求 1100 间的素数(素数 1,且除了 1

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

10、;A) 5 B) 4 C) 6 D) 不确定2、以下程序的输出结果是( A ) 。void main(void) int a = 4, b = 5, c = 0, d;d = !a printf(“%dn”, d);A) 1 B) 0 C) 非 0 的数 D) 13、以下程序的输出结果是( A ) 。#include 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; ivoid main(void)int i = 010, j =10, a = 0x1

11、0;printf(“%d, %d, %dn”, i, j, a);A) 8, 10, 16 B) 8, 10, 10 C) 10, 10, 10 D) 10, 10, 166、以下程序的输出结果是( D ) 。#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、下列语句行中,哪些语句能正确进行字符串赋值操作( C ) 。A) char st45 B) char s5=A, B, C, D, E C) char *

12、s; s = “ABCDE”; D) char *s; scanf(“%s”, s); 8、以下程序的输出结果是( D ) 。#include void main(void)char a = 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, *p = a+5;printf(“%d”, *-p);A) 非法 B) a4的地址 C) 3 D) 59、以下程序的运行结果是( C ) 。#include void main(void)int a43= 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12;int *p4, j;for (j=0; jint compare(ch

13、ar *s1, char *s2)while(*s1s2+ ;return *s1*s2?1:-1 ;void main(void)printf(“%dn“, compare(“abCd“, “abc“);2、函数 fun 的功能是:使字符串 str 按逆序存放。void fun (char str) char m; int i, j;for (i=0, j=strlen(str); ivoid main( void) float x1000,sum=0.0,ave , a;int n=0,i;printf(“Enter mark:n“) ;scanf(“%f“,int x = 2;int x

14、 = 3;printf(“x= %dn”, x);printf(“x= %dn”, x);printf(“x= %dn”, x);x=3x=2x=12、#include void main(void)static char s = “china”, c;int i, j;for (i=0; i=1; j-) if (sjvoid 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; istruct stu int num;char name

15、10;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);Zhao四、编程(35 分)(1)输入一个 double 类型的数,使该数保留小数点后 2 位,且对第 3 位进行四舍五入处理。(2)编写函数 strcopy(s, t),将字符串 s 复制到字符串 t 中。(3)求 21000 中的所有完数(某数因子和等于其本身的数称为完数

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

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

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

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

20、=c) D) (c= a)int i, j, found=0;for(j=0; j#include void main(void) char a=“clanguage“,t;int i, j, k;k = strlen(a);for (i=0; iaj ) t=ai; ai=aj; aj=t; puts(a);printf(“n“);3、以下程序中用户由键盘输入一个文件名,然后输入一串字符(用#结束输入)存放到此文件文件中形成文本文件,并将字符的个数写到文件尾部。#include #include void main(void) FILE *fp;char ch, fname32; int c

21、ount=0;printf(“Input the filename :“);scanf(“%s“,fname) ;if (fp=fopen( fname ,“w+“)=NULL) printf(“Cant open file:%s n“,fname); exit(0);printf(“Enter data:n“) ;while (ch=getchar()!=#) fputc(ch,fp); count+;fprintf( fp ,“n%dn“,count) ;fclose(fp);4、以下程序求 a 数组中的所有素数的和,函数 isprime 用来判断自变量是否为素数。素数是只能被 1 和本身

22、整除且大于 1 的自然数。#include int isprime(int);void main(void) int i,a10,*p=a,sum=0;printf(“Enter 10 num:n“);for (i=0;ivoid increment(void);void main(void)increment();increment();increment();void increment(void)static int x = 0; x +;printf(“x = %dn“, x);x=1x=2x=32、#include void main(void) int array10 = 1, 2

23、, 4, 5, 6, 0, 0, 0, 0, 0, i;printf(“n“);for (i=0; i=2; i-) arrayi = arrayi-1; array2 = 3;for (i=0; ivoid main(void) static char a=“ABCDEFGH“,b=“abCDefGh“;char *p1,*p2;int k;p1=a; p2=b;for(k=0;kint fun(int x,int y,int *cp,int *dp) *cp=x+y; *dp=x-y; void main(void) int a, b, c, d;a=30; b=50;fun(a,b, printf(“%d,%dn“, c, d);80,-20四、编程(35 分)(1)通过函数的递归调用计算阶乘。(2)编写函数 strcompare(s1,s2),按照字典顺序比较两个字符串 s1 和 s2,若两串相等返回 0;若串 s1s2,则返回+1;若串 s1s2,则返回-1。(3)编程找出 1000 以内的满足勾股定理 的整数组(a,b,c) 。22ca

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报