A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 天鹰的空 中级黑马   /  2015-8-18 21:44  /  1494 人查看  /  12 人回复  /   2 人收藏 转载请遵从CC协议 禁止商业使用本文

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  <stdio.h>  
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<stdio.h>
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为输入;

12 个回复

倒序浏览
收藏了,必须的
回复 使用道具 举报
xiaohu90 来自手机 中级黑马 2015-8-19 13:08:52
藤椅
经典,收藏备用来自: iPhone客户端

点评

还行  发表于 2015-8-19 19:14
回复 使用道具 举报
不错。。。
回复 使用道具 举报
有一些不会哦,,哎。
回复 使用道具 举报
好帖子,收藏了
回复 使用道具 举报
martyr 中级黑马 2015-8-28 09:31:35
7#

新人,给你顶起
回复 使用道具 举报
挺有意思的
回复 使用道具 举报
tangbinbin 发表于 2015-8-19 15:15
有一些不会哦,,哎。

都是考试题
回复 使用道具 举报
这个得支持。。。。。
回复 使用道具 举报
有一些没有答案啊...
回复 使用道具 举报
哇哦 ~~   ~~ ~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马