9月计算机二级《C语言》上机考题及答案

 我来答
玄雨螺A
2022-06-09 · TA获得超过2884个赞
知道小有建树答主
回答量:627
采纳率:80%
帮助的人:79.7万
展开全部

  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、若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为( )。

  A. p+1

  B. a+1

  C. a++

  D. ++p

  6、设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是( )。

  A. 1

  B. 0

  C. 4

  D. 3

  7、定义如下变量和数组: int i, 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、读出以下语句的输出结果是( )。

  int x=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、以下语句的输出结果是( )。

  int a=-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的值是( )。

  #define SQR(X) X*X

  main( )

  { int a=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、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。

  A.P+i*2

  B. P+(i-1)*2

  C. P+(i-1)

  D. P+i

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

  int d=1;

  fun (int p)

  { int d=5;

  d + =p + +;

  printf("%d,",d); }

  main( )

  { int a=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、若有说明: int i,j=7, *p=&i;, 则与i=j; 等价的语句是( )。

  A. i= *p;

  B. *p=*&j;

  C. i=&j;

  D. i=* *p;

  18、不能把字符串:Hello!赋给数组b的语句是( )。

  A. char b[10]={’H’,’e’,’l’,’l’,’o’,’!’};

  B. char b[10]; b="Hello!";

  C. char b[10]; strcpy(b,"Hello!");

  D.char b[10]="Hello!";

  19、在C程序中有如下语句:char *func(int x,int y); 它是( )。

  A. 对函数func的定义。

  B. 对函数func的调用。

  C.对函数func的原型说明。

  D. 不合法的。

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

  char str[15]=”hello!”;

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

  A. 15

  B. 14

  C. 7

  D. 6

  参考答案:

  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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式