自学考试《C语言程序设计》试题及答案.docx

上传人:b****2 文档编号:1241177 上传时间:2022-10-19 格式:DOCX 页数:59 大小:43.67KB
下载 相关 举报
自学考试《C语言程序设计》试题及答案.docx_第1页
第1页 / 共59页
自学考试《C语言程序设计》试题及答案.docx_第2页
第2页 / 共59页
自学考试《C语言程序设计》试题及答案.docx_第3页
第3页 / 共59页
自学考试《C语言程序设计》试题及答案.docx_第4页
第4页 / 共59页
自学考试《C语言程序设计》试题及答案.docx_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

自学考试《C语言程序设计》试题及答案.docx

《自学考试《C语言程序设计》试题及答案.docx》由会员分享,可在线阅读,更多相关《自学考试《C语言程序设计》试题及答案.docx(59页珍藏版)》请在冰豆网上搜索。

自学考试《C语言程序设计》试题及答案.docx

自学考试《C语言程序设计》试题及答案

2018年自学考试《C语言程序设计》试题及答案

  一、填空题

  1、C语言中普通整型变量的类型说明符为______,在内存中占______字节,有符号普通整型的数据范围是______.

  2、C语言中基本的数据类型有:

______、______、______.

  3、设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是______.

  4、共用体和结构体的定义格式类似,不同点是______.

  5、有如下输入语句:

scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是______.

  6、有语句:

char A[]={“Iamastudent”};该字符串的长度是______,A[3]=______.

  7、符号“a”和‘a’的区别______.

  8、下列程序的输出结果是______.

  intast(intx,inty,int*cp,int*dp)

  {*cp=x+y; *dp=x-y; }

  main()

  {inta=4,b=3,c,d;

  ast(a,b,&c,&d);

  printf(“%d,%d/n”,c,d);}

  二、选择题

  1、以下选项中属于C语言的数据类型是(    )。

  A.复合型   B.双精度型    C.逻辑型    D.集合型

  2、以下说法中正确的是(    )。

  A.C语言程序总是从第一个的函数开始执行

  B.在C语言程序中,要调用的函数必须在main()函数中定义

  C.C语言程序总是从main()函数开始执行

  D.C语言程序中的main()函数必须放在程序的开始部分

  3、选出下列标识符中不是合法的标识符的是(    )。

  A.hot_do     B.cat1      C._pri        D.2ab

  4、下列描述中不正确的是(    )。

  A、字符型数组中可能存放字符串。

  B、可以对字符型数组进行整体输入、输出。

  C、可以对整型数组进行整体输入、输出。

  D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

  5、若已定义:

inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为(    )。

  A.p+1  B.a+1  C.a++   D.++p

  6、设有如下定义:

intx=10,y=3,z;

  则语句printf(“%d\n”,z=(x%y,x/y));的输出结果是(    )。

  A.1   B.0   C.4   D.3

  7、定义如下变量和数组:

inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句

  for(i=0;i<3;i++)printf(“%d”,x[i][2-i]);的输出结果是(    )

  A.1 5 9   B.1 4 7   C.3 5 7   D.3 6 9

  8、读出以下语句的输出结果是(     )。

  intx=10,y=10;

  printf(“%d %d\n”,x——,——y);

  A.10 10   B.9  9   C.9  10  D.10 9

  9、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是(    )。

  if(x++>5)printf(“%d”,x);

  else printf(“%d\n”,x--);

  A.7和5   B.6和3   C.7和4   D.6和4

  10、设有如下定义:

char*aa[2]={“abcd”,“ABCD”};则以下说法中正确的是(    )。

  A)aa数组成元素的值分别是“abcd”和ABCD“

  B)aa是指针变量,它指向含有两个数组元素的字符型一维数组

  C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

  D)aa数组的两个元素中各自存放了字符‘a’和‘A’的地址

  11、以下语句的输出结果是(    )。

  inta=-1,b=4,k;

  k=(++a<0)&&!

(b--<=0);

  printf(“%d,%d,%d\n”,k,a,b);

  A.1,0,4   B.1,0,3   C.0,0,3   D.0,0,4

  12、下列程序的输出结果是(    )。

  char *p1=“abcd”, *p2=“ABCD”, str[50]=“xyz”;

  strcpy(str+2,strcat(p1+2,p2+1));

  printf(“%s”,str);

  A.xyabcAB  B.abcABz  C.ABabcz  D.xycdBCD

  13、执行下面的程序后,a的值是(    )。

  #defineSQR(X)X*X

  main()

  {inta=10,k=2,m=1;

  a/=SQR(k+m)/SQR(k+m);

  printf(“%d\n”,a);}

  A.10  B.1  C.9  D.0

  14、14、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为(    )。

  A.P+i*2  B.P+(i-1)*2  C.P+(i-1) D.P+i

  15、下列程序执行后输出的结果是(    )。

  intd=1;

  fun(intp)

  {intd=5;

  d+=p++;

  printf(“%d,”,d);}

  main()

  {inta=3;

  fun(a);

  d+=a++;

  printf(“%d\n”,d);}

  A.8,4  B.9,6  C.9,4  D.8,5

  16、表达式:

10!

=9的值是(    )。

  A.true  B.非零值  C.0   D.1

  17、若有说明:

inti,j=7,*p=&i;则与i=j;等价的语句是(    )。

  A.i=*p; B.*p=*&j; C.i=&j;D.i=**p;

  18、不能把字符串:

Hello!

赋给数组b的语句是(    )。

  A.charb[10]={‘H’,‘e’,‘l’,‘l’,‘o’,‘!

’};

  B.charb[10]; b=“Hello!

”;

  C.charb[10]; strcpy(b,“Hello!

”);

  D.charb[10]=“Hello!

”;

  19、在C程序中有如下语句:

char*func(intx,inty);它是(    )。

  A.对函数func的定义  B.对函数func的调用。

  C.对函数func的原型说明  D.不合法的。

  20、以下程序的输出结果是(    )。

  charstr[15]=“hello!

”;

  printf(“%d\n”,strlen(str));

  A.15   B.14   C.7  D.6

  三、阅读程序题

  1、intx=6,y=7;

  printf(“%d,”,x++);printf(“%d\n”,++y);

  程序的输出结果是______.

  2、floatf=3.1415927;

  printf(“%f,%5.4f,%3.3f”,f,f,f);

  则程序的输出结果是______.

  3、a=3;

  a+=(a<1)a:

1;printf(“%d”,a);

  结果是______.

  4、main()

  {inta[5]={2,4,6,8,10},*P,**k;

  p=a; k=&p;

  printf(“%d,”,*(p++));

  printf(“%d\n”,**k);

  程序的输出结果是______.

  5、main()

  {inta,b;

  for(a=1,b=1;a<=100;a++)

  {if(b>=20) break;

  if(b%3==1)

  {b+=3;continue;}

  b-=5;} }

  程序的输出结果a的值为______.

  四、程序填空题

  1、求主次对角线之和。

  main()

  {staticinta[][3]={9,7,5,1,2,4,6,8};

  intI,j,s1=0,s2=0;

  for(I=0;I<3;I++)

  for(j=0;j<3;j++)

  {if(          )

  s1=s1+a[I][j];

  if(          )

  s2=s2+a[I][j];

  }

  printf(“%d\n%d\n”,s1,s2);

  }

  2、从键盘上输入10个数,求其平均值。

  main()

  {inti;

  floatf,sum;

  for(i=1,sum=0.0;i<11;i++)

  {;

  ;

  }

  printf(“average=%f\n”,sum/10);

  }

  3、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。

  #include

  main()

  {

  FILE*fp;

  charc;

  fp= ;

  do

  {

  c=getchar();

  fputs(c,fp);

  }while(c!

=EOF);

  ;;

  }

  五、编程题

  1、三个整数a、b、c,由键盘输入,输出其中最大的数。

  2、从键盘输入的10个整数中,找出第一个能被7整除的数。

若找到,打印此数后退出循环;若未找到,打印“not exist”。

  3、有一个一维数组,内放10个学生成绩,写一个函数,求出平均分。

  4、有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。

 一、填空题

  1、int,2个字节,-32768~+32767.

  2、整型、实型、字符型。

  3、-4.

  4、结构体的成员占有各自不同的空间,而共用体的各成员放到同一存储空间。

  5、a=1,b=3,c=2

  6、“a”是字符串常量,而‘a’是字符常量。

  7、7,1.

  二、选择题

  1、B    2、C    3、D     4、C     5、C

  6、D    7、C    8、D     9、C     10、D

  11、D   12、D   13、B    14、B    15、A

  16、D   17、B   18、B    19、C    20、D

  三、阅读程序题

  

(1)6,8

  

(2)3.141593,3.1416,3.142

  (3)4

  (4)2,4

  (5)8

  四、程序填空题

  1、I==

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

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1