出自:长安大学大学C语言

选出年龄在40到50(包括40,不包括50)之间的人,其C语言表达式为( )(2分)
A(年龄>=40)and(年龄<50)
B(50>年龄>=40)
C(年龄>=40)&(年龄<50)
D(年龄>=40)&&(年龄<50)
设有说明语句int a=-1,b=2,c=0,d=7;则执行下面的赋值语句以后x的值为(   )。 x=a>b?c++:c>d?a--:++b;(2分)
A3
B1
C-2
D2
若x=3,则执行x*=x+3后,x的值为(   )。(2分)
A3
B6
C12
D18
设:char i;则下面(   )语句有错。(2分)
Ascanf("%c",i)
Bscanf("%d",&i)
Cscanf("i=%c",&i)
Dscanf("%c",&i)
在下列字符序列中,合法的标识符是(   )。(2分)
Ax>y
Babc
C98sjk
D$9231.76
以下程序的输出结果是( )。#include <stdio.h> #define SQR(X) X*X main() { int a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m); printf("%d
",a);}
(2分)
A16
B2
C9
D1
以下表达式中,( )的值为0。(2分)
A5 % 6
B5/6
C5 && 6
D5!= 6
以下程序的输出结果是( )。#include <stdio.h> main() { char st[20]="hello \";printf("%d %d
",strlen(st),sizeof(st));}(2分)
A9 9
B5 20
C13 20
D20 20
下面关于局部变量和全局变量的说法中,( )正确。(2分)
Amain函数中定义的变量是全局变量
B在任何函数内部定义的变量都是局部变量
C全局变量都在程序运行期间根据需要动态分配存储空间的
D局部变量都是在程序运行期间根据需要动态分配存储空间的
以下定义结构体类型st1,其中正确的是( )(2分)
Aimage4.png
Bimage5.png
Cimage6.png
Dimage7.png
以下程序中,while循环工执行循环体(   )次。#include<stdio.h>

main()

{ int i=0;

while(i<10)

{ if(i<1) continue;

if(i==5) break;

i++;

}

......

(2分)
A1
B10
C6
D无数次(死循环)
若在fopen函数中使用文件的方式是"w",该方式的含义是(   )。(2分)
A为输出(写)打开一个文本文件
B为输入(读)打开一个文本文件
C向文本文件尾增加数据
D为输出(写)打开一个二进制文件
以下程序的输出结果是( )。#include <stdio.h> main() { int i, k, a[10], p[3]; k=5; for(i=0;i<10;i++) a[i]=i; for(i=0;i<3;i++) p[i]=a[i*(i+1)];for(i=0;i<3;i++) k+=p[i]*2; printf("%d
",k);}
(2分)
A20
B21
C22
D23
关于return语句,下列正确的说法是( )(2分)
A可以在同一函数中出现多次
B在主函数中不能出现
C必须在每个函数中出现
D只能在除主函数之外的函数中出现一次
假设执行下列程序时输入:123456789,则输出结果是(   )。

main()

{ char s[100]; int c, i;

scanf("%c",&c);

scanf("%d",&i);

scanf("%s",s);

printf("%c,%d,%s \n",c,i,s);

}

(2分)
A123,456,789
B1,456,789
C1,23,456,789
D1,23,456
设int i,j;则以下循环体的执行次数是(   )。for(i=0,j=1;i<=j+1;i+=2,j--) printf("%d\n",i);。(2分)
A3
B2
C1
D0
以下程序中,while循环工执行循环体( )次。#include <stdio.h> main() { int i=0;while(i<10)
{ if(i<1) continue;if(i==5) break;i++;}......}
(2分)
A1
B10
C6
D无数次(死循环)
下列运算符中优先级最高的是(   )。(2分)
A<<br>
B+
C&&
D!=
用于for循环体中的continue语句的作用是(   )。(2分)
A终止程序执行
B终止循环继续
C结束本次循环
D重新执行循环
与 y=(x>0?1:x<0?-1:0); 功能相同的if语句是( )。(2分)
Aif(x>0) y=1;else if(x<0) y=-1;else y=0;
Bif(x) if(x>0) y=1; else if(x<0) y=-1;else y=0;
Cy=-1 if(x>0) y=1; else y=0;
Dy=0; if(x>0) y=1; else y=-1;
设有如下定义,下面输入语句中,( )错误。struct ss { char name[10];int age;char sex;}std[3],*p=std;(2分)
Ascanf("%d",&(*p).age);
Bscanf("%s",&std.name);
Cscanf("%c",&std[0].sex);
Dscanf("%c",&(p->sex));
设有语句char c=.\t.;,则变量c (   )。(2分)
A包含3个字符
B包含2个字符
C包含1个字符
D不确定
结构化程序设计主要强调的是( )。(2分)
A程序的规模
B程序的易读性
C程序的效率
D程序的可移植性
设: float w; int a, b;则合法的switch语句是(   )。(2分)
Aswitch(w) { case 1.0: printf("*\n"); case 2.0: printf("**\n"); }
BswitchA.; { case 1 printf("*\n"); case 2 printf("**\n");}
CswitchB.{ case 1: printf("*\n"); default: printf("\n"); case 1+2: printf("**\n");}
Dswitch(a+b);{ case 1: printf("*\n");case 2: printf("**\n");default: printf("\n");
设: int x=11;则表达式(x++*1/3)的值是(   )。(2分)
A3
B4
C11
D12
设:int a[]={23,54,10,33,47,98,72,80,61}, *p=a;则表达式*(p+5)表示引用值为47的数组元素。
存储类型为auto和register的变量,只有在使用它们时才占用内存单元。
循环语句必定执行循环体无穷多次而造成死循环。(2分)
若希望通过参数将函数值带出函数体,则参数必须定义为指针类型。
C语言源程序的基本单位是函数
设:int x=.g.;则整型变量x被赋予字符g。(
设double x; 则scanf"%4.2f",&x);是正确的输入语句。(2分)
设:int a=3,b; 则执行b=(float)a/2+0.5后,变量a的类型改为float型。
在C语言中,函数的定义不可以嵌套,但函数可以嵌套调用。( )
scanf("%f",3.5);是错误的输入语句。
break语句用在循环体中,可结束本层循环。
设有说明int a[]={1,2,3,4},*p=&a[1]; 则表达式--(*p)的值为1。
在main函数内定义的变量在整个程序范围内有效。(2分)
#include "C:USERf1.h"是正确的文件包含命令。
设:int a[]={3,6,9,11}, *p=a, *q=a+2 ; 则q-p的值为2(2分)
设有宏定义:#define MY(x,y) x*y,则宏调用MY(2+3,5)的结果为25。
函数调用结束,函数的参数所占据的内存单元也消失。(2分)
在宏定义#define PI 3.1415926中,宏名PI代替了一个实数3.1415926。
通过return语句,函数可以带回一个或一个以上的返回值。( )
设有如下结构说明,则t数组的每个元素均为结构体类型。struct node { int a, b;char c;}t[20];
若有定义:int a[10];则a++是合法的表达式。
设: char w; int x; float y; double z;则表达式:w*x+z-y的类型为double。( )
设:FILE *fp;则fp=fopen("myfile","rb");表示创建一个名字为myfile的二进制文件。
设指针变量p, q均已指向同一个数组的某两个下标变量, 则表达式abs(p-q)的运算结果表示p、q指针之间的位差字节数。