main( ) {
int m=1,n=2,k=3;
int sum=ADD(m+n)*k; printf(“sum=%d”,sum); }
上面程序的运行结果是( B )。B
A)sum=9 B)sum=10 C)sum=12 D)sum=18 50、以下程序的运行结果是( C )。D
#define X 5 #define Y X+1
#define Z Y*X/2 main ( ) {
int a=Y;
printf(\); printf(\);
}
A)7 B)12 C)12 D)7 6 6 5 5 51、变量的指针,其含义是指该变量的( B )。B
A)值 B)地址 C)名 D)一个标志 52、有以下程序
main() {
int i,s=0,t[]={1,2,3,4,5,6,7,8,9};
for(i=0; i<9; i+=2) s+=*(t+i);
printf(\%d\n\,s); }
程序执行后的输出结果是( C )。C
A)45 B)20 C)25 D)36 53、有以下程序
#include
fun(int x, int y, int *cp, int *dp) {
*cp=x+y; *dp=x-y; } main( ) {
int a,b,c,d; a=30; b=50;
fun(a, b, &c, &d);
printf(\
return 0; }
输出结果是( C )。 C
A)50,30 B)30,50 C)80,-20 D)80,20 54、设有如下的程序段
char str[ ]=\ char *ptr; ptr=str;
执行完上面的程序段后,*(ptr+5)的值为( B )。B A)′o′ B)′\\0′ C)不确定值 D)′o′的地址
55、若已定义char s[2][40]={“china”,”English”};则在下面表达式中不能表示?E?字符的是( C )。B
A)s[1][0] B)*(s+1) C)**(s+1) D)*s[1] 56、若有定义:int (*p)[4]; ,则标识符p( B )。C
A)是一个指向整型变量的指针
B)是一个指针数组名
C)是一个指针,它指向一个含有四个整型元素的一维数组 D)定义不合法 57、若有定义和语句:
int **pp,*p, a=10, b=20; pp=&p; p=&a; p=&b; printf(\则输出结果是( D )。 D A)10,20 B)10,10
C)20,10 D)20,20
58、 若要利用下面的程序段使指针变量p指向一个存储整型变量的存储单元,则在
( )中应有的内容是( B )。
int *p ;
p = ( )malloc(sizeof(int)); B
A)int B)int * C)(*int) D)(int *) 59、
下面函数的功能是( A )。 A int funl(char * x) {
char * y=x; while(*y++); return(y-x-1);
}
A) 求字符串的长度 B) 比较两个字符串的大小
C) 将字符串x复制到字符串y D) 将字符串x连接到字符串y后面 60、C语言结构体类型变量在程序执行期间( A )。 A
A)所有成员一直驻留在内存中 B)只有一个成员驻留在内存中 C)部分成员驻留在内存中 D)没有成员驻留在内存中 61、若有如下定义:
struct data
{
int i; char ch;
double f;
} b;
则结构体变量b占用内存的字节数是( D )。D A)1 B)2 C)8 D)11
62、已知学生记录描述为:
struct student
{
int no ;
char name[20]; char sex; struct
{
int year; int month; int day ; } birth ; }s ;
设结构变量s中的birth值为1985年10月1日,则下面正确的赋值方式是(A)year=1985 B)birth.year=1985 month=10 birth.month=10 day=1 birth.day=1
C)s.year=1985 D)s.birth.year=1985 s.month=10 s.birth.month=10 s.day=1 s.birth.day=1 63、若有以下说明和语句:
struct student { int age;
int num;
}std,*p; p=&std;
则以下对结构体变量std中成员age的引用方式不正确的是( D )。A)std.age B)p->age C)(*p).age D)*p.age 64、若定义:
union data {
int i;
float j;
char s[5]; }k;
则sizeof(k)的值是( B )。B
D )。 D D A)2 B)5 C)11 D)以上答案全错
65、已知字符0的ASCII码为十六进制的30,下面程序的输出是( B )。 B
main() {
union
{
unsigned char c; unsigned int i[4]; } z; z.i[0]=0x39; z.i[1]=0x36;
printf(\
}
A) 6 B) 9 C) 0 D) 3 66、设有如下说明
typedef struct ST
{ long a;int b;char c[2]; }NEW; 则下面叙述中正确的是( D )。C
A)以上的说明形式非法 B)ST 是一个结构体类型 C)NEW 是一个结构体类型 D)NEW 是一个结构体变量 67、若x=2,y=3,则x & y的值是( b )。 A)0 B)2 C)3 D)5 68、若a=2,b=3,则a|b的值是( D )。
A)0 B)1 C)2 D)3 68、设有以下语句: char a=3,b=6,c; c=a^b<<2; 则c的二进制值为( C A)00011011 B)00010100
)。
C)00011100 D)00011000
69、若执行fopen函数时发生错误,则函数的返回值是( B )。 A)地址值 B)0 C)1 D)EOF
70、若要用fopen函数打开一个新建的二进制文件,该文件既要能读也能写,则文件打开方式字符串应是( B )。B
A)\ B)\ C)\ D)\71、函数调用语句:fseek(fp,-20L,2)的含义是( C )。C
A)将文件位置指针移到距离文件头20个字节处
B)将文件位置指针从当前位置向后移动20个字节 C)将文件位置指针从文件末尾向后退20个字节 D)将文件位置指针移到当前位置20个字节处
72、若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof(fp)的返回值是( A )。 C
A) EOF B) -1 C) 非零值 D) NULL 73、有以下程序
#include
相关推荐: