分类题型练习
一 填空题
1.设x的值为15,n的值为2,则表达式x%=(n+=3)运算后,x的值为( )。
2.设 int a=7,b=9,t;执行完表达式t=(a>b)?a:b后,t的值是( )。
3.下面程序段的输出结果是( )。
int a=1234; a=a&0377; printf(“%d %o\n”,a,a);
4.a数组定义如下,按照内存排列顺序,a数组中的所有元素是( )。
char a[3];
5.设有以下宏定义,则执行赋值语句 a=PP*20;(a为int型变量)后,a的值是( )。
#define PR 80
#define PP PR+403
6.在C程序中,可以通过三种运算方式为指针变量赋地址值,它们是:( )、( )和( )。
7.在C文件中,数据存在的两种代码形式是( )和( )。
8.C语言中调用( )函数打开文件,调用( )函数关闭文件,调用( )函数可实现文件的随机读写。
9.若有int a[3]={10,12,30};则a+1是( )的地址,*(a+2)=( )。
1.当执行完以下语句后,变量a的值为( ),b的值为( ),c的值为( )。
a=6; b=++a; c=--a;
2.已知a=3、b=2,则表达式a*=b+8的值是( )。
3.下面程序段的输出结果是( )。
int a=125; printf(“%d\n”,a>>4);
4.a数组定义如下,a数组中可用最小下标值是( ),最大下标值是( )。
char a[3];
5.设有以下宏定义,则执行赋值语句a=ADD(4+6)*7;(a为int型变量)后,a的值是( )。
#define ADD(x) (x)+(x)
6.若有以下说明、定义和语句,则对x.b成员的另外两种引用方式是:( )和( )。
struct st
{ int a;
struct st b;
} *p,x;
p=&x;
7.在C中,文件指针变量的类型只能是( )。
8.在C中文件结束标志EOF只可用于( )文件。
9.a数组定义如下,若使数组a中存放字符串“friend” ,写出为数组a赋值的语句( )。
char a[10];
1.C语言表达式 5>2>7>8 的值是( )。
2.当执行完以下语句后,变量a的值为( ),d的值为( ),e的值为( )。
a=6; b=++a; c=--a; d=a++; e=a--;
3.下面程序段的输出结果是( )。
char a=111; a=a^00; printf(“%d %o\n”,a,a);
4.a数组定义如下,按照内存排列顺序,a数组中的所有元素是( )。
char a[3];
5.设有以下宏定义,则执行赋值语句 a=PP+20;(a为int型变量)后,a的值是( )。
#define PR 8
#define PP PR*40
6.定义结构体类型时,应使用关键字( ),定义枚举类型时,应使用关键字( )。
7.C文件可以分为两种类型,它们是( )文件和( )文件。
8.若有char a[3]=“as”;则*a=( ),*(a+2)=( )。
二、选择题
1.设 int a=12; 表达式a+=a-=a*=a的值是( )。
A 12 B 144 C 0 D 132
2.以下程序的输出结果是( )。
main( )
{ int a=011;
printf(“%d\n”,++a);
}
A 12 B 11 C 10 D 9
3.以下程序的输出结果是( )。
#define ADD(x) (x)+(x)
main()
{ int a=4,b=6,c=7,d=ADD(a+b)*c;
printf(“d=%d”,d);
}
A d=70 B d=140 C d=280 D d=80
4.下面的选项中正确的赋值语句是(char a[5],*p=a;)( )。
A p=“abcd”; B a=“abcd”; C *p=“abcd”; D *a=“abcd”;
5.若k为整形,则while循环执行( )次。
k=2; while(k==0) printf(“%d”,k); k--; printf(“\n”);
A 10 B 9 C 0 D 1
6.数组名作为实参传递给形参时,数组名被处理为( )。
A 该数组的长度 B 该数组的元素个数 C 该数组的首地址 D 该数组中各元素的值
7.两个指针变量不可以( )。
A. 相加 B 比较 C 相减 D 指向同一地址
8.若有以下程序段,则值为6的表达式是( )。
struct st{ int n;struct st *next;};
static struct st a[3]={5,&a[1],7,&a[2],9,‘\0’},*p; p=&a[0];
A p++->n B p->n++ C (*p).n++ D ++p->n
9.要打开一个已存在的非空文件"file"用于修改,选择正确的语句( )。
A fp=fopen("file","r"); B fp=fopen("file","w");
C fp=fopen("file","r+"); D fp=fopen("file","w+");
1.若有代数式,则错误的C语言表达式是( )。
A a*e/c/b B a*e/b/c C a*e/b*c D a/b/c*e
2.以下程序的输出结果是( )。
main( )
{ int a=7,b=5;
printf(“%d\n”,b=b/a);
}
A 不确定值 B 5 C 1 D 0
3.以下程序的输出结果是( )。
main()
{ int k1=1,k2=2,k3=3,x=15;
if(!k1) x--;
else if(k2) if(k3) x=4;else x=3;
printf(“x=%d\n”,x);
}
A x=4 B x=15 C x=14 D x=3
4. 以下程序的输出结果是( )。
main()
{ char s1[20]=“China”,s2[20]=“for”,s[10];
if(strcmp(s1,s2)) printf(c语言六种基本语句“%s\n”, strcat(s2,s1));
else printf(“%d\n”,strlen(s1));
}
A Chinafor B 5 C forChina D 3
5.C语言中函数调用的方式有( )。
A 函数调用作为语句1种 B 函数调用作为函数表达式1种
C 函数调用作为语句或函数表达式2种 D 函数调用作为语句、函数表达式或函数参数3种
6.关于return语句,下列正确的说法是( )。
A 可以在同一函数中出现多次 B 必须在每个函数中出现
C 只能在除主函数之外的函数中出现一次 D 在主函数中不能出现
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论