C练习题_3答案

发布时间:2023年12月18日

一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。

  1. 以下正确的C语言自定义标识符是(A)

A. la
B. 2a

C. do
D. a.12

2.在C语言中,错误的常数表示是(D)

A. OL
B. 0x6aL
C. ‘6’
D. 1.234E3.5

3.设 int a,x=2;执行语句a=x>0?3*x:(x=10);后,变量x的值是(B)

A. 1
B. 2
C. 6
D. 10

  1. 设有以下程序段:
    int x=2,y-2,z-0,a;
    a=++x||+y&&z++;
    printf(“%d,%d,%dln”,x,y,z);
    执行后输出的结果是(C)

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

5.在C语言中,字符串"\TOP\t\65"的长度是(B)

A. 5
B. 7
C. 9
D. 12

6·设float x;,由键盘输入: 12.45,能正确读入数据的输入语句是(A)

A. scanf(“%5f”,&x);
B. scanf(“%5d”,&x);
C. scanf(“%f”,x);
D.scanf(“%s”,&x)

7·逗号表达式a=26,a3,a*5的值是(B)

A. 12
B. 60
C. 36
D. 41

  1. C语言表达式3.26*exp(x)+(a+b)/3所表示的数学表达式是(C)

在这里插入图片描述
9.在C语言中,下列运算符中结合性属于自右向左的是(B)
A.&&
B.-
C.<<
D. ->

10.设int (*p) [4];,则p的含义是(D)

A. 指向整型变量的指针数组
B.指向4个整型变量的函数指针?
C. 4个指向整型变量的指针变量s
D.指向具有4个整型元素的一维数组的指针

  1. charx00-gwdows",“dos”,“unix”);,执行pintf(“%c”,x[1][2]);后输出的结果是(D)

A.n
b.i
c.o
d.s

12,设 inta[4][3]-{1,2,3,4,5,6,7,8,9,10,11,12);int (* ptr)[3]=a,*p=a[0];,则与数组元素a[1][2]等价的是(A)

A.((p+2) +3)
B.
(* (p+3))
C. (*ptr+1) +2
D. *((ptr+1)[2])

13,设int a-11,b=2;,执行下述程序段后,变量a和b的值分别是(do { a/=b++;} while(a>b); B

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

14,在C语言中,下列错误的说法是(C)

A、函数可以递归调用
B. 不允许在函数中再定义函数
C.递归程序不可能用非递归算法实现
D.对于continue语句,可以通过改变程序的结构而不使用它

15、设 inta[2][3]={ {1).(2,3)):,则元素a[1][0]的值是C

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

16.C 语言结构体类型变量在程序执行期间(A)

A. 所有成员一直驻留在内存中
B. 只有一个成员驻留在内存中
C. 部分成员驻留在在内存中
D. 没有成员驻留在内存中


  1. struct student
    { char name[10]:
    int sex;
    int num;
    }s,*p=&s;
    以下对结构型变量s中成员num的非法引用是(D)

A. p->num
B. (*p).num
C. s.num
D. student.num

  1. 下列说法中正确的是(C)

A.C语言的预处理命令只有宏定义和文件包含
B.预处理命令只能出现在主函数之前
C.所有预处理命令都是以符号"#"开头
D.有些预处理命令不是在源程序编译之前处理

19,已有定义int(*p)():指针p可以(B)

A. 代表函数的返回值
B.指向函数的入口地址
C.表示函数的类型
D. 表示函数返回值的类型

20,下列属于文件包含的命令是(C)

A. #define N 25
B. #endif
C. #include “stdio.h”
D. #else

二、程序阅读题(本大题共5小题,每小题6分,共30分。请将程序的运行结果填写在答题纸的相应位置上。)

1___17___

#include"stdio.h"
void main(){
   
	int x=15;
	while(x<20)
	{
   
		x++;
		if(x/3!=0) {
   x++;break;}
		else continue;
		}
printf("%d\n",x);
}

2___6 4 2___

#include "stdio.h"
fun(int a[],int i,int j)
{
   
	int t;
	if(i<j)
	{
   
	t=a[i];a[i]=a[j];a[j]=t;
	i++j--;
	fun(a,i.j);
	}
}
void main()
{
   
int x
文章来源:https://blog.csdn.net/weixin_47431459/article/details/134930733
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。