1.以下哪个直接量是十进制的124?
A . 0124 B . 0174 C . 0x124 D . 124d
正确答案:B你错选为D
解析: A、这是8进制,相当于10进制的84 B、8进制 C、这是16进制,相当于10进制的292 D、C语言没有这种后缀
2.设有如下定义,则对data中的a成员的正确引用是( )。
struct sk{ int a; float b; } data, *p=&data;
A.(*p).data.a B.(*p).a C.p->data.a D.p.data.a
正确答案:B 你错选为A
2.对于以下结构定义,(*p)->str++中的++加在( )。struct { int len; char *str } *p;
- A.指针str上
- B.指针p上
- C.str指向的内容上
- D.语法错误
3.下面程序的输出结果是( )
#include<stdio.h>
void fun (int *x, int *y){
printf(“%d%d”,*x,*y);
*x=3;*y=4;
}
int main(void){
int x=1,y=2;
fun(&x,&y);
printf(“%d%d”,x,y);
return 0;
}
- A.2 1 3 4
- B.1 2 1 2
- C.1 2 3 4
- D.2 1 1 2
正确答案:C 你错选为 B (可以通过指针直接修改指针指向的变量,还有一类传入的是变量的值,注意区分)
4.下列叙述中错误的是______。
A.计算机不能直接执行用C语言编写的源程序
B.C程序经C编译后,生成后缀为.obj的文件是一个二进制文件
C.后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件
D.后缀为.obj和.exe的二进制文件都可以直接运行
D [解析] C语言是一种“高级语言”。由高级语言编写的程序称为“源程序”。C语言源程序经过编译后生成一个后缀为.obj的二进制文件(称为目标文件),最后还要由“连接程序”(Link)软件把此.obj文件与C语言提供的各种库函数连接起来,生成一个后缀为.obj的可执行文件。在DOS状态下,只需打人此文件的名字(不必打入后缀.obj)就可以运行。后缀为.obj的文件不可以直接执行。
5.以下语句是否可以通过编译
if(1<=n<=10);
可以通过编译,但是不能达到应有的效果。
5.以下正确的函数定义形式是( )。
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语言中只有可执行语句才会被转换成二进制的机器指令,非执行语句不会被转换;
- 看清楚分号和逗号;
- for语句中的表达式1只执行1次;
- for后面只能有一句语句,如果必要,可以用大括号括起一堆语句表示一个复合语句;
- 关注for循环后面有没有分号;
- switch语句,当表达式的值与之相匹配时,不但执行相应的语句段,还按顺序执行后面的所有语句段;
- 函数首部后面不能加分号,它和函数体一起构成完整的函数定义;
- 把调用其他函数的函数称为主调函数,被调用的函数称为被调函数;
- 自定义函数中return 表达式;只能返回一个值。一般情况下,表达式的类型和函数的类型一致,如果两者不一致,以函数类型为准;
- 函数声明是一条C语句,而函数定义时的函数首部不是语句,不能跟分号;
- 函数定义的时候如果省略不写默认定义为int,所以在不返回结果的函数定义里,void不能省略;
- 程序设计语言必须具有数据表达和数据处理(称为控制)的能力;
- C语言允许定义作用于复合语句中的局部变量,其有效范围被局限于复合语句中,局部变量一般定义在函数或复合语句的开始处,标准C规定其不能定义在中间位置;
- 当函数局部变量和复合语句的局部变量同名时,以复合语句为准;
- main也是有效的变量名;
- 字符输入的时候注意空格,由于空格本身也是字符,要关注它是不是也被都进去了;
- !这个逻辑运算符优先级高于一般的算术运算符;
- 区别”a”和’a’,前者是字符串常量,包括’a’和’\0’两个字符,用一维字符数组存放;后者是字符常量,只有一个字符,可以赋给字符变量;
- *(p++),先取*p的值作为表达式的值,再将指针p+1,运算后p不再指向原来的那个变量;
- 只能将一个指针的值(不是指向的变量的值)赋给另一个相同类型的指针;
- 不能用数值作为指针变量的初值,但可以将一个指针初始化0/NULL空指针;
- 如果将某个变量的地址作为函数的实参,相应的形参就是指针;
- 在定义嵌套的结构类型,必须先定义成员的结构类型,再定义主结构类型;
- 结构变量的初始化采用初始化表的方法,打括号内各个数据项间用逗号隔开,将大括号内的数据项按顺序对应地赋给结构变量内各个成员,且要求类型一致;