c语言试题

合集下载

(完整word)C语言考试试题.

(完整word)C语言考试试题.
A.int max(x,y);B.static char c;C.#define PI 3。141592D.#define S 345
24.C语言中要求对变量作强制定义的主要理由是(B)
A.便于编辑预处理程序的处理B。便于确定类型和分配空间
C.便于移植D.便于写文件
25。以下数据中,不正确的数值或字符常量是(A)
25.若有定义:char s[]= ”turboC ";则Turbo C系统为数组s开辟【7】个字节的内存单元
二、判断共10题(共计20分)
1.inti,*p=&i;是正确的C说明(√)
2。若有说明intc;则while(c=getchar());是正确的C语句(√)
3。共同体变量所占的内存长度等于最长的成员长度(√)
23.当a=5,b=7,c=8时,执行以下程序段后c=【5】
if(a〈c) b=a;
a=c;
c=b;
24.已知a=5,写出表达式(0<a)‖(a〈2)的值是【1】
25。在TC2。0中,有以下结构类型说明和变量定义,则变量a在内存所占字节数是【22】
Strut stud
{char num[6];
int s [4];
4.charc[]=”Very Good”;是一个合法的为字符串数组赋值的语句(√)
5.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量(√)
6。整数—32100可以赋值给int型和longint型变量(√)
7.如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准(√)
for(i=0;i〈=2;i++)printf(“YES");printf(“\n”);

C语言试题

C语言试题

C语言习题精选第一章、程序设计基本概念一.选择题1.C语言规定,必须用(C)作为主函数(A)function (B)include (C)main(D)stdio2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个(B),一个C程序总是从(B)开始执行。

(A)过程(B)主函数(C)函数(D)include3.! C源程序是由(A)构成的(A)函数(B)函数和过程(C)超文本过程(D)子程序4.(A)是C程序的基本构成单位(A)函数(B)函数和过程(C)超文本过程(D)子程序5.! 下列说法正确的是(C)(A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可(B)一个函数的函数体必须要有执行部分,可以没有变量定义(C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数(D)以上都不对6.下列说法正确的是(D)(A)main函数必须放在C程序的开头(B)main函数必须放在C程序的最后(C)main函数可以放在C程序的中间部分,即在一些函数之前在另一个函数之后,但在执行C程序时是从程序开头执行的(D)main函数可以放在C程序的中间部分,即在一些函数之前在另一些函数之后,但在执行C程序时是从main函数开始的7.下列说法正确的是(C)(A)在执行C程序时不是从main函数开始的(B)C程序书写格式严格限制,一行内必须写一个语句(C)C程序书写格式自由,一个语句可以分写在多行上(D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号8.在C语言中,每个语句和数据定义是用(C)结束(A)句号(B)逗号(C)分号(D)括号9.下列字符串是标识符的是(A)(注:以字母或下划线开头)(A)_HJ (B)9_student (C)long(D)LINE 110.以下说法正确的是(C)(A)C语言程序总是从第一个定义的函数开始执行(B)在C语言程序中,要调用的函数必须在main()函数中定义(C)C语言程序总是从main()函数开始执行(D)C语言程序中的main()函数必须放在程序的开始部分11.(B)不是C语言提供的合法关键字()(A)switch (B)print (C)case(D)default12.C语言提供的合法关键字是(A)(A)break (B)print (C)funition(D)end13.C语言提供的合法关键字是(A)(A)continue (B)procedure (C)begin(D)append二.填空题1.一个C源程序至少包含一个(主函数),即(main())2.!一个函数由两部分组成,它们是(函数的说明部分)和(函数体)3.!函数体一般包括(变量的定义部分)和(执行部分)4.!函数体的范围是(最外层的一对大括弧内的部分)5.!C语言是通过(输入和输出函数)来进行输入和输出的6.!在C语言中,凡在一个标识符后面紧跟着一对圆括弧,就表明它是一个(函数)7.C语言的关键字都用(小写){大写或小字}8.!主函数名后面的一对圆括号中间可以为空,但一对圆括号不能(省)第二章、 C程序设计的初步知识一.选择题1.C语言中不能用来表示整常数的进制是(D)(A)十进制(B)十六进制(C)八进制(D)二进制2.在C语言中,反斜杠字符是(D)(A)\n (B)\t (C)\v (D)\\3.在ASCII代码表中可以看到每一个小写字母比它相应的大写字母的ASCII码(A)(A)大32 (B)大64 (C)小32 (D)小14.设d为字符变量,下列表达式不正确的是(C)(A)d=97 (B)d=‟a‟ (C)d=”a”(D)d=‟g‟5.10+‟a‟+1.5-567.345/‟b‟的结果是(B)(A)long (B)double (C)int (D)unsigned float6.!在C语言中,运算对象必须是整型数的运算符是(A)(A)% (B)/ (C)%和/ (D)**7.为表示关系x>=y>=z,应使用C语言表达式(A)(A)(y<=x)&&(y>=z) (B)(x>=y)AND(y>=z)(C)(x>=y>=z) (D)(x>=y)&(y>=z)8.若欲表示在if后a不等于0的关系,则能正确表示这一关系的表达式为(D)(A)a<>0 (B)!a (C)a=0 (D)a!=09.?下列常数中,合法的C常量是(A)(A)”x-y” (B)‟105‟ (C)‟Be‟ (D)7ff10.?下列常数中,合法的C常量是(A)(A)-0. (B)‟105‟ (C) …AB‟(D)3+511.下列常数中,合法的C常量是(A)(A)‟\n‟ (B)e-310 (C)‟DEF‟ (D)‟1234‟12.下列常数中,不合法的C常量是(B)(A)-0x2a1 (B)lg3 (C)‟[… (D)”CHINA”13.下列常数中,不合法的C常量是(B)(A)-0x3b1 (B)123e+2.3 (C)‟}‟ (D)6e+714.?下列符号中,可以作为变量名的是(C)(A)+a (B)12345e (C)a3B (D)5e+015.写出下面程序的输出结果(A)main(){int x,y,z;x=y=1;z=x++-1;printf(“%d,%d\t”,x,z);z+=-x+++(++y||++z);printf(“%d,%d”,x,z);}(A)2,0 3,-1 (B)2,1 3,0 (C)2,0 2,1 (D)2,10 ,116.写出下面程序的输出结果(D)main(){int x=40,y=4,z=4;x = y = =z;printf(“%d”,x);x = x = = (y-z);printf(“%d”,x);}(A)4 0 (B)4 1 (C)1 1 (D)1 017.写出下面程序的输出结果(A)main(){int I,j;I=16; j=(I++)+I;printf(“%d”,j);I=15;printf(“%d %d”,++I,I);}(A)32 16 15 (B)33 15 15 (C)34 15 16(D)34 16 1518.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值为(C)(A)1 (B)2 (C)2.0 (D)2.519.?下列程序的执行结果是(B)#define sum 10+20main(){ int b=0,c=0;b=5;c=sum*b;printf(“%d”,c);}(A)100 (B)110 (C)70 (D)15020.表达式(double)(20/3)的值为(B)(A)6 (B)6.0 (C)2 (D)3二.填空题1.如果int I=3;则k=(I++)+(I++)+(I++),则k =(9),I=(6);2.?如果int I=3;则k=(I++)+(++I)+(I++),则k=(12), I=(6);3.?如果int I=3;则k=(++I)+(++I)+(I++),则k=(15),I=(6);4./如果int I=3;则k=(++I)+(++I)+(++I),则k=(18),I=(6);5.已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为(K,5)main(){char c=‟A‟; int I=10;c = c+10;I = c%I;Printf(“%c,%d\n”,c,I); }6.!C语言的数据类型有四大类,其分别为(基本数据类型),(构造类型),(指针),(空类型)。

C语言试题库(完整版)

C语言试题库(完整版)

C语言试题库一、单项选择第一章C语言概述(1)一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束.B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。

C、本程序的MAIN函数开始,到本程序的最后一个函数结束。

D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。

(2)以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面.B、C程序的每行中只能写一条语句。

C、C语言本身没有输入输出语句。

D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。

(3)C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面。

B、必须在系统调用的库函数的后面C、可以在任意位置。

D、必须在最后面(4)一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5)以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1)若x,i, j,k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16,k=32)A、4B、16C、32D、52(2)下列四组选项中,均不是C语言键字的选项是A、define ,IF,typeB、getc,char, printfC、include,scanf,caseE、i f, struct, type(3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0,_AC、b—a, goto,intD、_123, temp,INT(4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5)已知各变量的类型说明如下:int k, a,b;unsinged long w=5;double x=1。

C语言程序设计试题集

C语言程序设计试题集

第一章基础知识一.填空1.每个C程序都必须有且仅有一个________ 函数。

2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。

3. 软件是程序,以及______、使用和维护所需要的所有文档。

4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。

5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。

6. C语言是由________组成的。

7. C语言的函数可分为主函数main、标准库函数和_________。

8. 一个函数是由两部分组成的,即:________和函数体。

9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。

不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。

11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。

12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。

13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。

14. C程序的执行均是由执行_________开始。

15.函数体即为包含在{}内的部分。

它分为________和为完成功能任务由若干个C 语句组成的执行部分。

16.C语言程序中一条简单语句是以________字符作为结束符的。

17.C语言是结构化、________的程序设计语言。

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。

答案:42. C语言中,使用______关键字可以定义一个无限循环。

答案:while3. C语言中,数组的元素默认初始化为______。

C语言试题库(含答案)

C语言试题库(含答案)
C、Print f("%c\n",class[2].name[l]);
D、print f("%c\n",class[2].name[0]);
标准答案:D
【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。
A、f+=g
B、f-=g+5
C、f*=g-5
D、f/=g*5
标准答案:A
if(ch=='/')w=a/b;
B、B)if(ch=='*')w=a*b;
else if(ch=='/')w=a/b;
if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
C、if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
if(ch=='*')w=a*b;
A、15
B、10
C、25
D、20
标准答案:A
【15】程序段的基本结构中,不包含()。
A、函数结构
B、循环结构
C、顺序结构
D、分支结构
标准答案:A
【1】执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入是。
A、1
B、2
C、1,2
D、12
标准答案:c
【3】若用数组名作为函数调用的实参,传递给形参的是()。
#include<stdio.h>
main()
{int i=1;

C语言200道练习试题和答案

C语言200道练习试题和答案

A)<=
B)=
C)%
D)&&
26.表达式(a=2,3) , a+1的值是【 C 】。
A)0 B)2
C)3
D)4
27.若执行printf("%d\n", strlen("a\n\"\x41"))语句其输 出结果是【 D 】。
A)8 B)7 C)6
D)4
28.在循环语句的循环体中执行break语句, 其作用是【 A 】。 A)跳出该循环体,提前结束循环 B)继续执行break语句之后的循环体各语句 C)结束本次循环,进行下次循环 D)终止程序运行
则输出是【 d 】 A)1234.56 1234 B)1234.57 1235 C)1234.56 1235 D)1234.57 1234
43.如果有
int a, b; scanf(“%d,%d”, &a, &b);语句,
则输入数据时,只可以用【 d 】作为输入的分隔符
A)TAB键 B)空格
C)回车
C)20,10 D)20,20
24.若有以下定义和语句 char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+"A"); 则输出结果是【 B 】。
A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定
25.在以下一组运算符中,优先级最高的运算符是【 C 】
int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d\n”,i,j,k); A)12345678 B)123,456,78 C)123,45678 D)123,*45678

C语言试题和答案大全

C语言试题和答案大全

模块1 C语言基础知识1. 选择题(1)C语言中运算对象必须是整型的运算符是(B )。

A. %=B. /C. =D. <=(2)以下所列的C语言常数中,错误的是(B )。

A. 0xFFB. 1.2E0.5C. 2LD. -.67(3)以下选项中能作为用户标识符的是( C )。

A. voidB. 7_9C. _3_D. Dr.Tom(4)以下所列的C语言字符常量中,合法的是( B )。

A. ”B”B. ’\n’C. ’中国’D. d(5)以下选项中正确的定义语句是( D )。

A. int a:b;B. int ,a,b;C. int a+b=6;D. int a=6,b;(6)以下关于long、int、short型数据占用内存大小的叙述中正确的是( D )。

A. 均占4个字节B. 根据数据的大小来决定所占内存的字节数C. 由用户自己定义D. 由C语言编译系统决定(7)若有定义语句:int x=10;,则表达式x-=x+x的值为( B )。

A. -20B. -10C. 0D. 10(8)表达式((a=3*5,a+4),a+5)的值是( A )。

A. 20B. 29C. 60D. 90(9)若有定义语句:int a=3,b=4,c=5;,则以下表达式中值为0的是( D )。

A. a&&bB. a<=bC. a||b+c&&b-cD. !((a<b)&&c||1)(10)设有以下定义:int i;char c;float f;,以下结果为整型的表达式是( B )。

A. i+fB. i*cC. c+fD. i+c+f2. 填空题(1)设有int n=12;,则表达式(n++*1/3)的值是 4 。

(2)定义以下变量:char c;int x;float y;double z;,则表达式c*x+y-z,所求得的数据类型为double 。

(3)设变量a和b已正确赋初值,请写出a/=a+b等价的赋值表达式a=a/(a+b) 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A.变量c1被赋予字符a,c2被赋予回车符
B.程序将等待用户输入第2个字符
C.变量c1被赋予字符a,c2中仍是原有字符2
D.变量c1被赋予字符a,c2中将无确定值
9. 若要求从键盘读入含有空格字符的字符串,应使用函数________。
A.getc()
B.gets()
C.getchar()
D.scanf()
B.int n=10,a[n];
C.int n;scanf("%d",&n); int a[n];
D.#define SIZE 10 int a[SIZE];
21. 下面程序的运行结果是______。
#include < stdio.h >
main()
{ int a[5],i;
for(i=0;i< 5;i++)
A.num[10]
B.num(5)
C.num[2.5]
D.num[2×3]
24. 在C语言中,函数返回值类型在定义时可以缺省,此时函数值的隐含类型是________。
A.void
B.float
C.double
D.int
25. 在C语言中,函数返回值的类型最终取决于________。
A.函数定义时在函数值首部所说明的函数类型
{ a[i]=9*(i-2+4*(i >3))%5;
printf("%2d",a[i]); } }
A.-3-4 0 4 4
B.-3-4 0 4 3
C.-3-4 0 4 2
D.-3-4 0 4 0
22. 设有定义:char a[80];int i=0;,以下不能将一行带有空格的字符串(不超过80个字符)正确读入的是______。
printf("%d,%d,%d",a,b,c);
A.1,2,0
B.2,1,0
C.1,2,1
D.2,1,1
17. 有以下程序,若运行时从键盘输入:18,11<回车>,则程序输出结果是_______ 。
#include "stdio.h"
void main()
{ int a,b;
printf("Enter a,b:");
while(k > 0)
{ switch(k)
{ default : break;
case 1 : n+=k;
case 2 :
case 3 : n+=k; }
k--; }
printf("%d\n",n); }
A.0
B.4
C.6
D.7
20. 以下对一维整型数组 a 定义正确的是______。
A.int a(10);
scanf("%d,%d",&a,&b);
while(a!=b)
{ while(a > b) a-=b;
while(b > a) b-=a; }
printf("%3d%3d\n",a,b); }
A.1 1
B.1 2
C.1 3
D.1 4
18. 以下程序运行后的输出结果是_______。
#include "stdio.h"
B.return语句中表达式值的类型
C.用函数时主调函数所传递的实参类型
D.函数定义时形参的类型
26. 以下叙述中正确的是________。
A.预处理命令行必须位于C源程序的起始位置
B.每个C程序必须在开头包含预处理命令行:#include "stdio.h"
C.C语言的预处理不能实现宏定义和条件编译的功能
A.a==1
B.++i;
C.a=a++=5;
D.a=int(i);
6. 以下选项中,值为1的表达式是________。
A.1-'0'
B.1-'\0'
C.'1'-0
D.'\0'-'0'
7. 若有定义int a=3,b=2,c=1;,以下选项中错误的赋值表达式是________。
A.a=(b=4)=3
B.a=b=c+1
A.gets(a);
B.while(( a[i++]=getchar())!='\n'); a[i]='\0';
C.scanf("%s",a);
D.do{scanf("%c",&a[i]); }while(a[i++]!='\n'); a[i]='\0';
23. 若有定义int num[10];则对数组元素的正确引用是______。
C.!=
D.||
15. 若程序执行时的输入数据是2473<回车>,则下述程序的输出结果是______。
#include <stdio.h>
void main()
{ int cs;
while((cs=getchar())!='\n')
{switch(cs-'2')
{ case 0:
case 1: putchar(cs+4);
D.在C语言中,预处理命令行都以"#"开头
27. 以下叙述中正确的是________。
A.局部变量说明为static,其生存期将得到延长
B.全局变量说明为static,其作用域将被扩大
C.任何存储类的变量在未赋初值时,其值都是不确定的
D.属于不同函数的局部变量不能同名
28. 以下结构体的定义语句中,正确的是______。
void main()
{ int y=10;
while(y--);
printf("y=%d\n",y); }
A.y=0
B.y= -1
C.y=1
D.while构成无限循环
19. 以下程序运行后的输出结果是_______。
#include "stdio.h"
void main()
{ int k=5,n=0;
A.(c==2)||(c==4)||(c==6)
B.(c > =2 && c < =6)||(c!=3)||(c!=5)
C.(c > =2 && c < =6)&&!(c%2)
D.(c > =2 && c < =6)&&(c%2!=1)
13. 在执行下述程序时,若从键盘输入6和2,则输出结果是______。
A.对
B.错
8. 执行语句for(i=1;i++<4; );后,变量i的值是4。
A.对
B.错
9. 若一维数组在定义时进行了初始化,则可以省略数组长度,系统设有两个整型数组a和b,可以通过a=b,将数组b整体赋值给数组a。
A.对
B.错
11. 函数中的多个return语句,可以实现调用该函数后,多个值同时被返回。
A.对
B.错
5. 在C语言中用0表示逻辑值“真”,用非0表示逻辑值“假”。
A.对
B.错
6. 当a=1,b=2,c=3时,执行语句“if(a > c) b=a;a=c;c=b;”后,变量c中的值为3。
A.对
B.错
7. 执行i=-1; while(I < 10) i+=2;i++; 后,i的值 为11。
A.对
B.错
12. 有参的宏,其参数参与运算,宏替换要先完成参数的计算,然后再执行替换。
A.对
B.错
13. 结构体变量所占用空间是全部成员占用空间之和。
A.对
B.错
14. 如果两个结构体变量有相同的类型,则可以把其中一个结构体变量的值整体赋值给另一个结构体变量。
A.对
B.错
15. C语言中,执行表达式(*p)++后p的指向改变了。
D.struct student {int num; char name[10]; int age;}; student stu;
29. 有如下定义的结构体类型: struct data { int year; int month; int day; }workday; 对其中成员month的正确引用方式是______。
10. 已知int x=10,y=20,z=30;,以下语句执行后x,y,z的值是______。
if(x > y)
z=x; x=y; y=z;
printf("%d,%d,%d",x,y,z);
A.10,20,30
B.20,30,20
C.20,30,10
D.20,30,30
11. 下列程序的输出结果是______。
#inlude "stdio.h"
main()
{ int a,b,k;
scanf("%d,%d",&a,&b);
k=a;
if(a < b) k=a%b;
else k=b%a;
printf("\n%d",k); }
A.5
B.3
C.2
D.0
14. 以下运算符中优先级最低的运算符为______。
A.&&
B.&
A.对
相关文档
最新文档