出自:西安交通大学--程序设计综合训练学习指南

设有int x,y; 以下语句判断x和y是否相等,正确的说法是该语句( )。 if (x=y) printf(" x is equal to y."); A、语法错 B、不能判断x和y是否相等 C、编译出错 D、能判断x和y是否相等
若用数组名作为函数调用时的参数,则实际上传递给形参的是( )。 A、数组元素的个数 B、数组的第一个元素值 C、数组中全部元素的植 D、数组首地址
C语言中规定,if语句的嵌套结构中,else总是与( )配对。 A、与最近的if 配套 B、与第一个if 配套 C、按缩进位置相同的if配套 D、与最近的且尚未配对的if 配套
凡是在函数中未指定存储类别的局部变量,其隐含的存储类别是( )。 A、静态(static) B、外部(extern) C、自动(auto) D、寄存器(register)
若变量已正确定义,与语句 if(a>b)k=0;else k=1;等效的是( )。 A、k=(a>b)?1:0? B、k=a>b; C、k=a<=b; D、a<=b?0:1;
下列语句实现的功能与其printf语句中所表达的含义相符的是( )。 A、 int a,b,c; scanf ("%d%d%d" ,&a,&b,&c); if(a=b=c) printf("这是一个等边三角形\n"); B、 int a,b,c; scanf ("%d%d%d" ,&a,&b,&c); if(a+b>c||a+c>b|| c+b>a)printf("这三条边能组成一个三角形\n"); C、 int a,b,c; scanf ("%d%d%d" ,&a,&b,&c); if(a==b&&b==c) printf("这是一个等边三角形\n"); D、 int a,b,c; scanf ("%d%d%d" ,&a,&b,&c); if(a==b||b==c) printf("这是一个等腰三角形\n")
以下叙述正确的是( )。 A、函数的定义和函数的调用均不可以嵌套 B、函数的定义和函数的调用均可以嵌套 C、函数的定义可以嵌套,但函数的调用均不可以嵌套 D、函数的定义不可以嵌套,但函数的调用均可以嵌套
以下函数原型说明正确的是( )。 A、float add(int x, int y) ; B、int add(int x;int y) ; C、char add( x,y) ; D、int add(char x[ ] [ ]) ;
在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。 A、main B、MAIN C、name D、function
每个C语言程序文件的编译错误分为( )类。 A、1 B、2 C、3 D、4
字符串"a+b=12\n"的长度为( )。 A、6 B、7 C、8 D、9
在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为( )语句。 A、for B、while C、do D、if
在下面的do-while循环语句中,其循环体语句被执行的次数为( )。 int i=0;do i++; while(i<10); A、8 B、9 C、10 D、11
将两个字符串连接起来组成一个字符串时,选用的字符串函数为( )。 A、strlen() B、strcpy() C、strcat() D、strcmp()
若用数组名作为函数调用的实参,传递给形参的是( )。 A、数组的首地址 B、数组中第一个元素的值 C、数组中全部元素的值 D、数组元素的个数
假定aa为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( )个字节。 A、4 B、8 C、16 D、32
假定s被定义为指针类型char * 的变量,初始指向的字符串为"hello world!",若要使变量p指向s所指向的字符串,则p应定义为( )。 A、char *p=s; B、char *p=&s; C、char *p;p=*s; D、char *p;p=&s;
从一个数据文件中读入以换行符结束的一行字符串的函数为( )。 A、gets() B、fgets() C、getc() D、fgetc()
若short int 类型数据占两个字节,则下列语句的输出为( )。 int k=-1; printf(“%d,%u\n”,k,k); A、-1,-1 B、-1,32767 C、-1,32768 D、-1,65535
若有以下变量说明和数据的输入方式,则正确的输入语句为( )。 变量说明:float x1,x2; 数据的输入方式:4.52<回车> 3.5<回车> A、scanf(“%f,%f”,&x1,&x2); B、scanf(“%f%f”,&x1,&x2); C、scanf(“%3.2f,%2.1f”,&x1,&x2); D、scanf(“%3.2f%2.1f”,&x1,&x2);
C语言中规定,if语句的嵌套结构中,else总是与( )配对。 A、与最近的if 配套 B、与第一个if 配套 C、按缩进位置相同的if配套 D、与最近的且尚未配对的if 配套
若一个外部变量的定义形式为static int x ; 其中static的作用是( )。 A、将变量存放在静态存储区,使x的值可以永久保留 B、使变量x可以由系统自动初始化 C、使x只能在本文件内引用 D、使x的值可以永久保留
若有定义char x[ ]= "12345"; char y[ ]={ .1., .2., .3., .4., .5.};则( )。 A、x数组与y数组的长度相同 B、x数组长度大于y的长度 C、x 数组长度小于y数组长度 D、x数组等价与y 数组
若0<=i<10,则下列( )是对数组元素的错误引用。 int a[ ]={1,2,3,4,5,6,7,8,9,0},*p, i; p=a; A、*(a+ i) B、a[p-a] C、p+ i D、*(&a[i])
函数形参与实参之间的传递是“值传递”,以下叙述正确的是( )。 A、实参和与其对应的形参共用一个存储单元 B、实参和与其对应的形参各占用独立的存储单元 C、当实参和与其对应的形参同名时才共用一个存储单元 D、形参是形式的,不占用存储单元
设有以下程序片段,请问执行后的输出结果是( )。 char ch=.A.; ch=(ch>=.a. && ch<=.z.)?ch:ch-.A.+.a.; printf("%c" , ch); A、A B、a C、Z D、z
若有以下定义:float x; int a,b; 则错误的switch语句是( )。 A、switch(x) B、switch(a) {case 1.0:printf("*\n"); {case 1:printf("*\n"); case 2.0:printf("*\n"); } case 2:printf("*\n"); } C、switch(a+b) D、switch(a+b); {case 1:printf("*\n"); {case 1:printf("*\n"); case 1+2:printf("*\n"); } case 2:printf("*\n"); }
C语言的编译系统对宏命令的处理是( )。 A、在程序连接时进行的 B、在对源程序中的其它语句编译之前进行的 C、在程序运行时进行的 D、和C程序中的其它语句同时进行的