C语⾔-常见⾯试题整理
1.标识符
标识符是C程序的最基本组成部分,例如:变量名称、函数名称、数据类型等等,都是⼀个标识
符。标识符的要求是:必须由字母(区分⼤⼩写)、数字、下划线组成。⽽且,标识符的第⼀个
字符不可以是数字。例如:
abc                ---  合法
_abc123        ---  合法
abc555          ---  合法
123abc          ---  ⾮法
abc$!!          ---  ⾮法
下列字符串可以⽤作C++标识符的是: A
A _123
B  2009var
C goto
D test - 2009
请选出可⽤作C语⾔⽤户标识符的⼀组标识符  B
A、void
B、a3_b3
C、For
D、2a
下列选项中是C语⾔合法标志符的有(A  B).
A  good_morning
B  main
C stdio.h
D 8abc
以下选项中,能⽤作⽤户标识符的是( B  D)。
A.⼀0⼀
B.8-;8
C.void
D.unsigned
以下⽤户标识符,其中合法的是().
A return
B f2_G3
C A3-3
D abc
2.引⽤与指针
引⽤:在函数调⽤时,是变量的别名,不可以单独存在,使⽤时必须要初始化;
指针:本⾝有⾃⼰的地址,可以单独存在,相对引⽤可读性差。
“引⽤”与指针的区别是什么?A
A 指针通过某个指针变量指向⼀个对象后,对它所指向的变量间接操作。程序中使⽤指针,程序的可读性差;⽽引⽤本⾝就是⽬标变量的别名,对引⽤的操作就是对⽬标变量的操作。
B  引⽤通过某个引⽤变量指向⼀个对象后,对它所指向的变量间接操作。程序中使⽤引⽤,程序的可读性差;⽽指针本⾝就是⽬标变量的别名,对指针的操作就是对⽬标变量的操作。
C 指针⽐引⽤更节省存储空间
D以上都不正确
3.C语⾔
⼀个C语⾔源程序是由(B)
A⼀个主程序和若⼲⼦程序组成 B函数组成 C若⼲过程组成 D若⼲⼦程序组成
⼀个C程序的执⾏是从__A___
A、本程序的main函数开始,到main函数结束
B、本程序的main函数开始,到本程序⽂件的最后⼀个函数结束
C、本程序⽂件的第⼀个函数开始,到本程序⽂件的最后⼀个函数结束
D、本程序⽂件的第⼀个函数开始,到本程序main函数结束
C语⾔程序的基本单位是 C
A、程序⾏
B、语句
C、函数
D、字符
下列说法正确的是 D
A. main函数必须放在C程序的开头
B. main函数必须放在C程序的最后
C. main函数可以放在C程序的中间部分,但在执⾏C程序时是从程序开头执⾏的
D. main函数可以放在C程序的中间部分,但在执⾏C程序时是从main函数开始的对于⼀个正常运⾏的C程序,以下叙述中正确的是( C)。
A.程序的执⾏总是从main函数开始,在程序的后⼀个函数中结束
B.程序的执⾏总是从程序的个函数开始,在main函数结束.
C.程序的执⾏总是从main函数开始、
D.程序的执⾏总是从程序的个函数开始,在程序的后⼀个函数中结束
下列关于C语⾔⽂件的叙述中正确的是(C )。
自定义函数怎么用c语言A.⽂件由⼀系列数据依次排列组成,只能构成⼆进制⽂件
B.⽂件由结构序列组成,可以构成⼆进制⽂件或⽂本⽂件
C.⽂件由数据序列组成,可以构成⼆进制⽂件或⽂本⽂件
D.⽂件由字符序列组成,其类型只能是⽂本⽂件
以下叙述中正确的是(A )。
A c语⾔规定必须⽤main作为主函数名,程序将从此开始执⾏
B可以在程序中由⽤户指定任意⼀个函数作为主函数,程序将从此开始执⾏
Cc语⾔程序将从源程序中个函数开始执⾏
Dmain的各种⼤⼩写拼写形式都可以作为主函数名,如MAIN,Main等
以下叙述中正确的是(A  B    C).
A ⼀个C源程序可由⼀个或多个函数组成
B ⼀个C源程序必须包含⼀个main()函数
C C源程序的基本组成单位是函数
D 在C源程序中,注释说明只能位于⼀条语句的最后
以下对C语⾔中的函数描述不正确的有(A  C  D).
A 可以嵌套定义,不可以嵌套调⽤
B 不可以嵌套定义,可以嵌套调⽤
C 可以嵌套定义,也可以嵌套调⽤
D 嵌套定义和嵌套调⽤都不允许
以下关于结构化程序设计的叙述中正确的是( B)。
A.结构化程序使⽤goto语句会很便捷
B.在c语⾔中,程序的模块化是利⽤函数实现的
C.⼀个结构化程序必须同时由顺序、分⽀、循环三种结构组成
D.由三种基本结构构成的程序只能解决⼩规模的问题
以下关于retllm语句的叙述中正确的是( B)。
A.⼀个⾃定义函数中必须有⼀条return语句
B.⼀个⾃定义函数中可以根据不同情况设置多条retum语句
C.定义成void类型的函数中可以有带返回值的return语句
D.没有return语句的⾃定义函数在执⾏结束时不能返回到调⽤处
下列叙述中正确的是( D)。
A.算法就是程序
B.设计算法时只需要考虑数据结构的设计
C.设计算法时只需要考虑结果的可靠性
D.以上三种说法都不对
下列叙述中正确的是(A )。
A 程序可以作为算法的⼀种表达⽅式
B 算法的有穷性是指算法的规模不能太⼤
C 算法的复杂度⽤于衡量算法的控制结构
D 算法的效率与数据的存储结构⽆关
4.变量
若有如下语句: int *p1,*p2; 则其中int所指的是 D
Ap1的类型    B *p1和*p2的类型    C p2的类型    D p1和p2所能指向变量的类型C语⾔中变量的指针指的是: D
A. 变量类型
B. 变量
C. 变量值
D. 变量地址
若想定义int型变量a,b,c,d并都赋值为1,以下写法中错误的是(A )。
A int a=b=c=d=1;
B int a=1,b=1,c=1,d=1;
C int a,b,c,d;a=b=c=d=1;    Dint a,b,c,d=1;a=b=c=d;
以下不合法的赋值语句是(A  C  D).
A x=y=100
B d--;
C x+y;
D c=int(a+b);
已知ii,j都是整型变量,下列表达式中,与下标引⽤X[ii][j]不等效的是(B  C)。
A *(X[ii]+j)
B  *(X+ii)[j]
C *(X+ii+j)
D  *(*(X+ii)+j)
C语⾔中,运算对象必须是整型数的运算符是 A
A. %
B. \
C. % 和 \
D. **
在下⾯⼏组数据类型中, 全为最常⽤的基本数据类型的是哪⼀组: A
A. 整型实型字符型
B. 整型数组指针
C. 数组结构体共⽤体
D. 指针逻辑型空类型
假定x和y为double型,则表达式(x=2,y=x+5/2)的值是 C
A、4.500000
B、4
C、4.000000
D、2.000000
C/C++函数,⽐较两个字符串设这两个字符串为str1,str2,
若str1==str2,则返回零;    若str1<str2,则返回负数;  若str1>str2,则返回正数。
matlab中函数,strcmp(s1,s2) 判断两个字符串s1和s2是否相同,相同返回true ,不同返回false 若有定义语句:char}sl=‘’0K”,:It s2=”ok”;以下选项中,能够输出“OK”的语句是( B)。
A.if(strcmp(sl,s2)!=0)puts(s2);
B.if(strcmp(sl,s2)!=0)puts(s1);
C.if(strcmp(sl,s2)==1)puts(s1);
D.if(strcmp(sl,s2)==0)puts(s1);
以下不合法的赋值语句是(A  C  D).
A  x=y=100
B d--;
C x+y;
D c=int(a+b);
以下选项中合法的表达式是(A  B  C).
A 0<=x<100
B i=j==0
C (char)(65+3)
D x+1=x+1
以下关于typedef的叙述错误的是( A)。
A.⽤typedef可以增加新类型
C.⽤typedef可以为各种类型说明⼀个新名,但不能⽤来为变量说明⼀个新名
D.⽤typedef为类型说明⼀个新名,通常可以增加程序的可读性
若有以下语句:typedef struct S{int 9;char h;}T;以下叙述中正确的是(B )。
A.可⽤s定义结构体变量
B.可⽤T定义结构体变量
C.S是struct类型的变量
D.T是struct S类型的变量
设有以下语句:typedef struct TY{char C;int a{4 1;}CIN;则下⾯叙述中正确的是( D)。
A.CIN是struct Tr类型的变量
B.TY是struct类型的变量
C.可以⽤,l,r定义结构体变量
D.可以⽤CIN定义结构体变量
以下关于typedef的叙述正确的是(A  C  D).
A ⽤typedef可以定义各种类型名,但不能⽤来定义变量
B⽤typedef可以增加新类型
C ⽤typedef只是将已存在的类型⽤⼀个新的名字来代表
D 使⽤typedef便于程序的通⽤
6.数组
若⼆维数组a有m列,则a[I][j]元素前的数组元素个数为: D
A. j*m+i
B. i*m+j
C. i*m+j-113
D. i*m+j+1
若有以下函数⾸部:int fun(double x[10],int*n)则下⾯针对此函数的函数声明语句中正确的是( B  )。
A  int fun(double,int);
B int fun(double*,int*);
C  int mn(double*x,int n);
D int fun(double x,intint*n)
下列选项中,能正确定义数组的语句是( D)。
A.int num[0..2008];
B.int 1111111[];
C.int N:2008:
D.#define N 2008int num[N1;int num[N];
7.项⽬问题
软件测试的⽬的是(D )。
A.评估软件可靠性
B.发现并改正程序中的错误
C.改正程序中的错误
D.发现程序中的错误
在软件开发中,需求分析阶段产⽣的主要⽂档是( D)。
A.软件集成测试计划
B.软件详细设计说明书
C.⽤户⼿册。
D.软件需求规格说明书
软件⽣命周期是指( A)。
A.软件产品从提出、实现、使⽤维护到停⽌使⽤退役的过程
B.软件从需求分析、设计、实现到测试完成的过程
C.软件的开发过程
D.软件的运⾏维护过程
软件⽣命周期中的活动不包括( A)。
A.市场调研
B.需求分析
C.软件测试
D.软件维护
8.数据结构
下列叙述中正确的是(B )。
A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B.线性表的链式存储结构所需要的存储空间⼀般要多于顺序存储结构
C.线性表的链式存储结构所需要的存储空间⼀般要少于顺序存储结构
D.线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可⽐性
下列叙述中正确的是(D )。
A.栈是⼀种先进先出的线性表
B.队列是⼀种后进先出的线性表
C.栈与队列都是⾮线性结构
D.以上三种说法都不对
下列叙述中正确的是( B)。
A.有⼀个以上根结点的数据结构不⼀定是⾮线性结构

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。