1、题目 答案执行以下程序后,a,b的值分别为main()int a,b,k=4,m=6,*p1=a=p1=b=(-*p1)/(*p2)+7;printf(“a=%dn“,a);printf(“b=%dn“,b);A) -1,5 B) 1,6 C) 0,7 D) 4,10 C已知学生记录描述为struct studentint no;char name20;char sex;structint year;int month;int day;birth;struct student s;设变量s中的“生日”应是“19 D当说明一个结构体变量时系统分配给它的内存是A) 各成员所需内存量的总和B) 结构
2、中第一个成员所需内存量C) 成员中占内存量最大者所需的容量D) 结构中最后一个成员所需内存量 A以下运算符中优先级最低的是A) 和输出语句 printf(“%8lx“,a);以下正确的叙述是A) 整型变量的输出形式只有%d一种B) %x是格式符的一种,它可以适用于任何一种类型的数据C) %x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D) %8lx不是错误的格式符,其中数字8规定了输出字 D以下C程序正确的运行结果是main()long y=-43456;printf(“y=%-8ldn“,y);printf(“y=%-08ldn“,y);printf(“y=%08ldn“,y
3、);printf(“y=%+8ldn“,y);A) y= -43456 (换行) y=- 43456 (换行) y=-0043456 (换行) y=-43456B) y=-43456 (换行) y=-43456 (换 C若有说明:int a10;则对a数组元素的正确引用是A) a10 B) a3,5 C) a(5)D) a10-10 d在C语言中,一维数组的定义方式为:类型说明符数组名_A) 常量表达式 B) 整型表达式C) 整型常量或整型表达式 D) 整型常量 D以下能对一维数组a进行正确初始化的语句是A) int a10=(0,0,0,0,0) B) inta10=;C) int a=0;
4、 D) inta10=10*1; C以下正确的函数定义形式是A) double fun(int x,int y) B)double fun(int x;int y)C) double fun(int x,int y); D)double fun(int x,y); A以下正确的说法是:在C语言中A) 实参和与其对应的形参各占用独立的存储单元B) 实参和与其对应的形参共占用一个存储单元C) 只有当实参和与其对应的形参同名时才共占用存储单元D) 形参是虚拟的,不占用存储单元 A若调用一个函数,且此函数中没有return语句,则正确的说法是:该函数A) 没有返回值 B) 返回若干个系统默认值C) 能
5、返回一个用户所希望的值 D) 返回一个不确定的值D请读程序:#define ADD(x) x+xmain()int m=1,n=2,k=3;int sum=ADD(m+n)*k;printf(“sum=%d“,sum);上面程序的运行结果是A) sum=9 B) sum=10 C) sum=12D) sum=18 B以下叙述中正确的是A) 在程序的一行上可以出现多个有效的预处理命令行B) 使用带参的宏时,参数的类型应与宏定义时的一致C) 宏替换不占用运行时间,只占编译时间D) 在以下定义中 C R 是称为“宏名”的标识符#define C R 045 C以下程序的运行结果是#define MI
6、N(x,y) (x)bc的值是_ 0当a=5,b=4,c=2时,表达式ab!=c的值是_ 1以下程序的运行结果是_#include void main(void)int x=1,y,z;x*=3+2;printf(“%dt“,x);x*=y=z=5;printf(“%dt“,x);x=y=z;printf(“%dn“,x);5,25,1C语言提供的三种逻辑运算符是_,_和_ c=getchar();while( _ )if( _ ) n+;c=getchar(); c!=n,c=0unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是A) x%(-3)
7、 B) w+=-2C) k=(a=2,b=3,a+b) D)a+=a-=(b=4)*(a=3) Aputchar函数可以向终端输出一个A) 整型变量表达式值 B) 实型变量值C) 字符串 D) 字符或字符型变量值 D以下程序的输出结果是main()printf(“n*s1=%15s*“,“chinabeijing“);printf(“n*s2=%-15s*“,“chi“);A) *s1=chinabeijing * (换行) *s2=*chi*B) *s1=chinabeijing * (换行) *s2=chi *C) *s1=* chinabeijing* (换行) *s2= chi*D)
8、*s1= chinabeijing D在C语言中,引用数组元素时,其数组下标的数据类型允许是A) 整型常量 B) 整型表达式C) 整型常量或整型表达式 D) 任何类型的表达式 A以下对一维整型数组a的正确说明是A) int a(10); B) intn=10,an;C) int n; scanf(“%d“, int an;D) #define SIZE 10 (换行) int aSIZE; D关于建立函数的目的,以下正确的说法是A) 提高程序的执行效率 B) 提高程序的可读性C) 减少程序的篇幅 D) 减少程序文件所占内存B以下正确的说法是A) 用户若需调用标准库函数,调用前必须重新定义B)
9、用户可以重新定义标准库函数,若如此,该函数将失去原有含义C) 系统根本不允许用户重新定义标准库函数D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统 B以下叙述中不正确的是A) 预处理命令行都必须以#号开始B) 在程序中凡是以#号开始的语句行都是预处理命令行C) C程序在执行过程中对预处理命令行进行处理D) 以下是正确的宏定义 #define IBM_PC C以下程序的运行结果是sub(int x,int y,int *z)*z=y-x;main()int a,b,c;sub(10,5,sub(7,a,sub(a,b,printf(“%4d,%4d,%4dn“,a,b,c);A) 5,2,3 B) -5,-12,-7 C) -5,-12,-17D) 5,-2,-7BC语言所提供的基本数据类型包括:单精度型,双精度型,_,_和_ 整型,字符型,枚举若s是int型变量,且s=6,则下面表达式的值是_s%2+(s+1)%2 1