c语言常考的程序,C语言 一些常考得东西

C语言基础测试

1.#include “heima.txt” 表示文件在哪个目录?( D)

A、系统根目路径

B、编译器路径

C、桌面

D、与当前文件目录一致.

2.C源程序中不能直接打印的进制数是( )

A. 二进制      B.十六进制      C.十进制     D.八进制

3.十六进制数0x1DA2转换成二进制数是多少( )

A.0b0b01011011011010       B.0b0001110100101010

C.0b0001110110100010       D.0b0001010110100010

4.整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是( )不同为1

A) x || y        B) x | y         C) x & y       D) x ^ y

5.有以下程序

#include  

main()

{  char  c1,c2;

c1='A'+4;

c2=c1-4;

printf( "%c,%d\n",c1,c2);

}

已知字母A的ASCII码为65,程序运行后的输出结果是( )

A.输出无定值      B. E,D    C. D,69    D. E,65

6.数组属于什么数据类型的数据( )

A、整形  B、字符型  C、共用型   D、构造型

7.下列数组中定义正确的是(C )

A: int [1]a;  B: float 1f[2]; C:double _arr[2];

D: fArr2 float [5];

8.以下能对一维数组a进行正确初始化的语句是(B、D )

A、int a[1][2]={0,0};  B、int a[10]={1}; C、int a(2)={0,1,2};   D、int a[]={1,2};

9.若用数组名作为函数调用的实参,传递给形参的是。(A )

A) 数组第一个元素的地址  B)  数组的地址

C) 组中全部元素的值    D) 数组最后一个元素的地址

10.以下程序段给数组所有的元素输入数据,请选择正确答案填入(  A  )

#include

main()

{

int a[3],i=0;

while(i<3){

scanf("%d",___);

printf("%d\n",___);

i++;

}}

A. &a[i],a[i]          B. &a[i+1],&a[i]       C. a+i ,a                D. &a[++i],a[i]

11.下列对选择排序描述正确的是(C)

A.只能操作整形数组                   B 对所有字符数组无效

C.把最值选到对应的位置上去           D 数组元素大小必须有序

12. 若定义如下变量和数组,输出的结果是多少 (B)

int x[3][2]={1,5,4,2,1,6};

int i;

for(i=0;i<3;i++)

printf("%d",x[i][2-i]);

return 0;

A. 2 1 6         B. 4 2 1            C. 4 1 2            D. 5 4 2

13. 若有以下程序片段:

char str[ ]="ab\013\r\082\\\"";\013是一个  \0  82     \0  结束

printf("%d",strlen(str));

上面程序片段的输出结果是 ( )。( )

A. 4            B. 9            C. 10                 D. 11

14.int nums[] = {9,8,6,5,1}; 假设nums[0] 的地址是:0xffc0  求nums[3]的地址是?( )

A. 0xffc3        B. 0xffd2             C. 0xffcb           D. 0xffcc

15.已知: int arr[3][4], int a = 2 则对数组元素引用错误的是( )

A、arr[0][a*1]    B、arr[1][a + 2]   C、arr[4-a][0]   D、arr[a*1][3]

•        以下对二维数组进行正确初始化的是( )    第二围 不能省略

A)int a[2][]={{1,2},{3,4}}         B)int a[][3]={1,2,3,4,5,6};

C)int a[2][]={1,2,3,4,5,6};                 D)int a[2][3]={{1,2},{3,4},{5,6};

17.若给出以下定义:

char a[ ]=”heima”;

char b[ ]={‘h',’e',’i',’m',’a’};

则正确的叙述为( )。

A.数组a度大于数组b的长度            B. 数组a的长度小于数组b的长度

C.数组a和数组b等价                         D. 数组a和数组b的长度相同

18.定义char ch[2] = {‘a’,’\0’};  char ch2[3] = {'c','d','e'};

printf("%s",ch2)输出的结果是多少?( )

A、cde           B.cde\0         C.cde\n           D.cdea

19. 定义char *oldstr = "fengjie"; char newstr[20] = "aibanzhang";

如果oldStr[0]=’w’(常量区  不可以复直)和newStr[0]=’q’(栈区)的结果分别是?

A、对  对                                                B.错 错

C、对  错                                       D.错 对

20.int *p;int a = 10;赋值正确的是?( )

A: p = a;  B:p = &NULL;C:*p = NULL  D:p = &a

21. 若有说明:int *c; int a=1;int d; 以下正确的程序段是( )。

A. c=&d; scanf("%d", &c);

B. scanf("%d", &d);  *c=d;  野指针 输入后 报错

C. c=&d;*c=a;

D. c=&d;scanf("%d", *c);

22. 定义int a[2]={1,2} ,int (pa)[2]下面给pa赋值正确及获取2的值是?( )

A.pa=&a; (*pa)[1]  B. pa=&a; *pa[1]  C. pa=a; (*pa)[1]   D. pa=a; *pa[1]

23.如果要求定义一个不可变的变量a,那下面定义方法正确的是?( )

A. const int const a = 6;     B.const int a = 5;

C.int a; const int p = &a;     D.int a; int const *p = *a;

24.定义int *p1; p1 = NULL; int a = 5; *p1 = a; printf("%p",p1);输出结果是( )

A.NULL      B.a的地址        C.空指针错误           D.野指针错误

25.char *fun(char *p){return p;},该函数的返回值为( )

A)fun是一个char类型

B)指针变量p占用8个字节的存储空间

C)fun是一个指针类型

D)fun是一个整型

26.定义结如下结构体,sizeof(struct student) 打印的结果是多少?( )

struct student{

char *name;

char sex;

int age;

};

A.3        B.24        C.12         D.16

27.定义 struct Student{  结构体,下列结构体变量初始化正确的是(  )

int sno;

char name[21];

int age;

};

A.struct Student stu = {1,"fengjie",59};

B.struct Student stu1 = (struct Student)(1,"fengjie",59);

C.Student stu2 = {1,"fengjie",59};

D.Student stu3 = {struct Student}{1,"fengjie",59};

28.定义一个结构体    struct Car{

int lunzi;

int speed;

char *color;

}car1;

car1.color = “green”;

打印car1.color得到的结果是多少?

A.运行报错          B. green       C.white           D.乱码

29.下列哪些类型的数据可以嵌套使用?( )

A.switch语句      B.枚举      C.结构体嵌套自身指针变量      D.宏定义

30. 定义typedef int  ARRAY[5]; 使用ARRAY定义数组正确的是( )

A. ARRAY a1={1,2,3,4,5};     B.ARRAY a1[5] = {1,2,3,4,5};

C.ARRAY[5] = {1,2,3,4,5};    D.ARRAY = {1,2,3,4,5};

31.#define  M(x,y,z) x*z+y+z 输出结果是( )

main()

{

int  a=2,b=1, c=4;

printf("%d\n", M(a+b,b+c, c+a));

2+1,1+4,4+2  X=2+1,Y=1+4,Z=2+1

2+1*2+1+1+4+2+1=19

}

A. 38                    B. 19                       C. 12                       D. 17

32.typedef 与#define 描述正确的是什么?( )

A.宏定义在编译之前进行替换,typedef在编译时替换

B.宏定义和typedef都是在编译之前进行替换

C.宏定义和typedef都是在编译的时候替换

D.宏定义在编译的时候替换,typedef定的新类型在编译之前替换

33.下列关于static和extern描述正确的是( )

A. static不能修饰局部变量

B.static和extern都可以用来修饰全局变量

C.static可以修饰局部变量

D.extern修饰的函数是外部函数,static修饰的函数只能在当前文件访问

34.下列对文件操作步骤正确的是( )

A.打开 操作 关闭。

B.操作 关闭。

C打开 操作。

D.操作

35.把a文件的数据读取,保存到B文件中 ( )

A.a为输出,b为输入;

B.a为输入 ,b为输出;

C.a为输出 b为输出

D.为输入,b为输入;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值