江苏计算机等级考试_第1页
江苏计算机等级考试_第2页
江苏计算机等级考试_第3页
江苏计算机等级考试_第4页
江苏计算机等级考试_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、江苏省计算机等级考试学年第一学期c程序设计试卷()题号一二三四五六七八九总分得分一、选择题(本题共 20道小题,共40分。)1 .以下程序运行后,输出结果是main()char *s="abcde"s+=2;printf("%ld'n" , s);A)cde B)字符c的ASCII码值 C)字符c的地址 D)出错2 .下面程序的运行结果是main()char ch7="65ab21”;int i , s =0for(i=0;chi>='0'&&chi<'9'i+=2)s=10*

2、s+chi-'0' printf("%dn" , s);A)12ba56B)6521C)6D)623 .若有说明,double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是A) *p=&a; scanf("%lf",p);B)p=(double*)malloc(8);scanf("%f",p);C) p=&a;scanf("%lf",a); D)p=&a; scanf("%le",p);4 .若要用下面的程序片段使指针变量p指向一个存储整

3、型变量的动态存储单元:int *p;p=malloc( sizeof(int);则应填入A) intB) inst *C) (*int)D) (int *)5 .若k是int型变量,且有下面的程序片段:k=-3if(k<=0) printf("#")else printf("&&&&");上面程序片段的输出结果是A) # B) &&&&C) #&&&& D)有语法错误,无输出结果6 .以下程序运行后,输出结果是#include<stdio.h>

4、;#define PT 5.5#define S(x) PT*x*xmain()int a=1 , b=2;printf("%4.1fn" , S(a+b) A)49.5B)9.5C)22.0D)45.07 .设有以下语句:struct st int n; struct st *next;static struct st a3=5,&a1,7,&a2,9,'0',*p;p=&a0;则表达式 的值是6。A) p + + ->n B) p->n + + C) (*p).n + +D) + + p->n8 .当a=1, b

5、=3, c=5, d=4时,执行下面一段程序后,x的值为if(a<b)if(c<d)x=1;else if(a<c)if(b<d)x=2;else x=3;else x=6;else x=7;A)1B)2C)3D)69 .下面程序的输出是A) xyzabcABCB) zabcABC#include<stdio.h>#include<string.h>main()char *p1="abc",*p2="ABC",str50="xyz"strcpy(str+2,strcat(p1 ,p2);

6、printf("%sn", str);10 .执行以下程序后,y的值是main ()int a 尸2,4,6,8,10;int y=1 ,x,*p;P=&a1;for(x=0;x<3;x+) y + = * (p + x);printf("%dn",y); A) 17 B) 18C) 19C) yzabcABCD) 20D) xyabcABC11 .设已有定义:char *st="how are you"下列程序段中正确的是A) chara11,*p;strcpy(p=a+1 ,&st4);B) chara11;

7、strcpy(+a, st);C) chara11;strcpy(a, st);D) chara 口,*P;strcpy(p=&a1 ,st+2);12 .若有说明:int i , j=7, *p=&i;,则与i=j;等价的语句是A) l= *P;B) *P=*&J;C) i=&j;D) i=* *p;13 .执行语句:for(i=1;i+<4;)后;变量i的值是A)3B)4C)5D)不定14 .两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果main()int x;scanf("%d",&x);if(x + + &g

8、t;5) printf("%d",x);elseprintf("%dn",x - -);A) 7 和 5 B) 6 和 3 C) 7 和 4 D) 6 和 415 .有以下程序int fun(int x,int y,int *cp,int *dp)*cp=xy;*dp=x-y;main()(int a,b,c,d;a=30;b=50;fun(a,b,&c,&d);printf("%d,%dn",c,d);)输出结果是A)50,30B)30,500)80,-20D)80,2016 .设有数组定义:char array 尸

9、'China"则数组 array所占的空间为A) 4个字节 B)5个字节C) 6个字节 D)7个字节17 .以下程序运行后,输出结果是fut(int *s , int p23)(*s=p11;)main()(int a23=1 , 3, 5, 7, 9, 11, *p;p=(int *)malloc(sizeof(int);fut(&p , a);printf("%dn" , *p);)A)1B)7C)9D)1118 .设j为int型变量,则下面for循环语句的执行结果是 for(j=10;j>3;j-)(ifO%3)j-;printf(&q

10、uot;%d"j);)A)6 3B)7 4C)6 2D)7 319 .设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的 取值范围为:A) 0-255B) 1-32767C) 0-65535D) 0-214748364720.设有如下定义:int (*ptr)*();则以下叙述中正确的是A)ptr是指向一维组数的指针变量B)ptr是指向int型数据的指针变量C)ptr是指向函数的指针 该函数返回一个int型数据D)ptr是一个函数名,该函数的返回值是指向int型数据的指针二、填空题(每空1分,共10分。)1 .C语言数组的下标总是从 开始,不可以为负数

11、;构成数组各个元素具有相同的 o2 .在C语言中(以16位PC机为例),一个char数据在内存中所占字节数为 一个int数据在内存中所占字节数为 , 一个long数据在内存中所占字节数为, 一个float数据在内存中所占字节数为 °3 .C程序是由 构成的,一个C程序中至少包含 o因此,是C程序的基本单位。4 .假定一个二维数组为 aMN,则ai的地址值(以字节为单位)为 。三、判断题(本题共10道小题,共10分。)1.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数()2,全局变量使得函数之间的“耦合性”更加紧密,不利于模块化的要求()3,若调用一个函数,且此

12、函数中没有 return语句,则返回一个不确定的值()4 .用户若需要调用标准库函数,调用前必须重新定义()5 .函数调用:strcat(strcpy(str1 ,str2),str3)的功能是将串 str2复制到串str1中后再将串 str3连接到串str1之后()6 .在实际编程中,do-while循环完全可以用for循环替换()7 . C程序的注释只能是一行()8 .自增运算符(+)或自减运算符(-)只能用于变量,不能用于常量或表达式()9 .在函数内的复合语句中定义的变量在本函数范围内有定义()10 . 一个变量在内存中占据一定的存储单元()四、程序填空(本题共5道小题,每题4分,共2

13、0分。)1 .以下程序统计从终端输入的字符中每个大写字母的个数。用#号作为输入结束标志,请填空。#include <stdio.h>#include <ctype.h>main()int num26,i; char c;for(i=0; i<26; i+) numi=0;while(!='#') /*统计从终端输入的大写字母个数*/if( isupper(c) numc-65+=1;for(i=0; i<26; i+) /*输出大写字母和该字母的个数*/if(numi) printf("%c:%dn,i, numi);)2 .以下程

14、序求a数组中的所有素数的和,函数isprime用来判断自变量是否为素数。 素数是只能被1和本身整除且大于1的自然数。#include <stdio.h>main()int i,a10,*p=a,sum=0;printf("Enter 10 num:n");for(i=0;i<10;i + + ) scanf("%d",&ai);for(i=0;i<10;i + + )if(isprime(*(p+) = = 1) printf("%d",*(a+i); sum+=*(a+i);printf("

15、nThe sum=%dn",sum); isprime(x) int x;int i; for(i=2;i<=x/2;i + + )if(x%i = = 0) return (0);3 .以下程序建立了一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data域不放数据,表空的条件是 ph->next = = NULL).#include<stdio.h>struct list int data;struct list *next;creatlist() struct list *p,*q,*ph; int

16、a; ph=(struct list *) malloc(sizeof(struct list);p=q=ph; printf("Input an integer number,enter -1 to end:n");scanf("%d",&a):while(a!=-1) p=(struct list *)malloc(sizeof(struct list);p->data=a;q->next=p;=P;scanf("%d",&a);p->next='0'return(ph);) ma

17、in() struct list *head; head=creatlist();4 .设有以下程序:main()int a, b, k=4, m=6, *p1=&k, *p2=&m;a=pl=&m;b=(*p1)/(*p2)+7;printf("a=%dn",a);printf("b=%dn",b);)执行该程序后,a的值为, b的值为 o5 .以下程序调用invert函数按逆序重新放置a数组中元素的值。a数组中的值在main函数中读入。#include <stdio.h>#define N 10invert(sjj

18、)int *s,i,j;int t; if(i<j) t=*(s+i); *(s+j)=(s+j);*(s+j)=t; invert(s,j-1); main()int aN,i;for(i=0;i<N;i + + ) scanf("%d",a+);invert(a,0,N-1);for(i=0;i<N;i + + ) printf("%d",ai); printf("n");五、编程题(本题共2道小题,共20分。)1 .计算1-1/2+1/3-1/4-+1/99-1/100的值,并显示出来。2 . 从键盘输入一个5*5 整型数组赋值,找出其中的最小值并显示出来。江苏省计算机等级考试学年 第一学期c程序设计 试卷(参考答案)题号一二三四五六七八九总分得分一、选择题(本题共20道小题,共40分。)1. C2. C3. D4. D5. D6. B7. D8. B9. D10. C11. A12. B13. C14. A15. B16. C17. C18. B19. C20. C二、填空题(每空1分,共10分。)1. 0 ,数据类型2. 1,2,4 , 43. 函数,main(),函数4. a+i 或 *(a+i)三、判断题(本题共10道小题,1

温馨提示

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

评论

0/150

提交评论