C语言试题库

合集下载

C语言试题库(完整版)

C语言试题库(完整版)

C语言试题库(完整版)C语言试题库一、单项选择第一章 C语言概述1) 一个C程序的执行是从本程序的MAIN函数开始,到MAIN函数结束。

2) 以下叙述正确的是:一个C源程序可由一个或多个函数组成。

3) C语言规定,在一个源程序中,MAIN主函数的位置可以在任意位置。

4) 一个C程序是由函数组成。

5) 以下叙述不正确的是:在C程序中,注释说明只能位于一条语句的后面。

第二章数据类型、运算符与表达式1) 若x。

i。

j。

k都是int型变量,则计算下面表达式后,x的值为x=52.2) 下列四组选项中,均不是C语言键字的选项是:define。

IF。

type。

3) 下面四个选项中,均是不合法的用户标识符的选项是:1a0.b-a。

XXX。

4) 若有代数式3ae/bc,则正确的C语言表达式是:3*a*e/b*c。

5) 已知各变量的类型说明如下:int k。

a。

b。

unsigned long w=5.double x=1.42.则以下不符合C语言语法的表达式是:x%(-3)。

第三章简单C程序设计C语言试题库一、单项选择第一章 C语言概述1.一个C程序的执行是从本程序的MAIN函数开始,到MAIN函数结束。

2.以下叙述正确的是:一个C源程序可由一个或多个函数组成。

3.C语言规定,在一个源程序中,MAIN主函数的位置可以在任意位置。

4.一个C程序是由函数组成。

5.以下叙述不正确的是:在C程序中,注释说明只能位于一条语句的后面。

第二章数据类型、运算符与表达式1.若x。

i。

j。

k都是int型变量,则计算下面表达式后,x的值为x=52.2.下列四组选项中,均不是C语言关键字的选项是:define。

IF。

type。

3.下面四个选项中,均是不合法的用户标识符的选项是:1a0.b-a。

XXX。

4.若有代数式3ae/bc,则正确的C语言表达式是:3*a*e/b*c。

5.已知各变量的类型说明如下:int k。

a。

b。

unsignedlong w=5.double x=1.42.则以下不符合C语言语法的表达式是:x%(-3)。

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语言试题及答案

C语言试题及答案

大学C语言考试题库第1章 C语言概述习题1. 单项选择题(1) C 语言是在 B 语言的基础上产生的。

A. AB. BC. DD. E(2) 在 C 语言中,每个语句必须以 D 结束。

A. 回车符B. 冒号C. 逗号D. 分号(3) 标识符和关键字间,要用 C 隔开。

A. 回车符B. 冒号C. 空格D. 分号(4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。

A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D.自动保存源文件(5) 下列说法中正确的是( B )。

A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入C. 由于C 程序是高级语言程序,因此输入后即可执行D. 由于 C 程序是高级语言程序,因此它由命令组成(6) 下列说法中正确的是( A )。

A. C 语言程序由主函数和 0 个或多个函数组成B. C 语言程序由主程序和子程序组成C. C 语言程序由子程序组成D. C 语言程序由过程组成(7) 下列说法中错误的是( D )。

A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行2. 填空题(1) C 语言只有 32 个关键字和 9 种控制语句。

(2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

(3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。

(4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。

(5) C 语言的程序中有特殊含义的英语单词称为保留字。

(6) C 语言标识符的长度是前 8 位有效。

(7) C 语言中,标识符的定义规则是以字母或下划线为开头。

c语言考试试题

c语言考试试题

c语言考试试题一、选择题1. C语言中,用于表示整数常量的是()。

A. 123.45B. 0x1A3C. 0177D. 1e62. 下列哪个关键字用于定义一个循环,该循环会一直执行直到给定条件不满足为止?()。

A. doB. whileC. forD. if3. 在C语言中,用于动态分配内存空间的函数是()。

A. mallocB. freeC. callocD. realloc4. 下列关于指针的说法,错误的是()。

A. 指针是一种特殊类型的变量,其值为另一个变量的地址。

B. 指针可以被解引用来获取其所指向的内存中存储的值。

C. 指针的算术运算是合法的。

D. 指针不能被赋值为非整数值。

5. 在C语言中,用于字符串连接的函数是()。

A. strcatB. strcmpC. strcpyD. strlen二、填空题1. 在C语言中,一个基本的整型变量(int)通常占用的内存大小是______字节。

2. 如果一个函数需要返回两个值,它必须返回一个______类型的结构体。

3. 在C语言中,使用关键字______可以定义一个不占用存储空间的临时变量。

4. 为了在C语言程序中引入标准输入输出库函数,需要在程序顶部包含的头文件是______。

5. 一个C语言程序由______组成,它是程序执行的起点。

三、判断题1. 在C语言中,所有的函数都必须有一个返回类型。

()2. 任何在main函数中定义的局部变量都可以在main函数之外被访问。

()3. 在C语言中,数组的大小可以在运行时确定。

()4. 字符串在C语言中是一个以空字符'\0'结尾的字符数组。

()5. 通过使用const关键字,可以声明一个只读的变量。

()四、简答题1. 请简述C语言中的指针和数组的关系。

2. 解释C语言中的结构体,并给出一个使用结构体的例子。

3. 什么是递归函数?请举例说明。

4. 描述动态内存分配的过程,并说明其优缺点。

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) 。

C语言试卷(含答案)

C语言试卷(含答案)

一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和分别赋给i和f,则正确的输入为()。

A. 100B. i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);}上面的C程序的输出结果是()。

A. 20B. 1C. 0D. -14、C语言中,while和do…while循环的主要区别是()。

A. do…while的循环体至少无条件执行一次B. while的循环控制条件比do…while的循环控制条件严格C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句5、执行下面的C程序段后,输出结果是()。

inta=5;while(a--);printf("%d",a);A. 54321B. 4321C. 0D. -16、在C语言中,()是在所有函数外部声明的。

A. 全局变量B. 局部变量C. 形参D.实参7、分析下面的C程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。

A. 123B. 012C. 23D. 128、下面的C语言代码段的输出结果是()。

C语言考试试题库和答案解析

C语言考试试题库和答案解析

1、下面程序的输出是___D______#include<stdio.h>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是__D______.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是______A____.A) '\t' B) "A" C) 65 D) A4、表达式: 10!=9的值是________D____.A) true B) 非零值 C) 0 D) 15、C语言提供的合法的数据类型关键字是_____B____.A) Double B) short C) integer D) Char6、字符(char)型数据在微机内存中的存储形式是__D__.A) 反码 B) 补码 C) EBCDIC码 D) ASCII码7、C语言程序的基本单位是_____C______.A) 程序行 B) 语句 C) 函数 D) 字符8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是____D____A) 552 B) 264 C) 144 D) -2649、执行下面程序中的输出语句后,输出结果是____B__.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 1010、下面程序的输出是____B______.#include<stdio.h>void main(){int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 2411、下面程序的输出的是_____C____.#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值12、已知字母A的ASCII码为十进制的65,下面程序的输出是______A_____.#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__.A) a<>0 B) !a C) a=0 D) a14、以下程序的输出结果是____D_____.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 915、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是_____D_____.A) 1 B) 0 C) 4 D) 316、为表示关系x≥y≥z,应使用C语言表达式___A___.A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)C) (x>=y>=z) D) (x>=y) & (y>=z)17、C语言中非空的基本数据类型包括____B____.A) 整型,实型,逻辑型 B) 整型,实型,字符型C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型18、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是____A___.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<stdio.h>void main(){char ch;scanf("%3c",&ch);printf("%c",ch);}如果从键盘上输入abc<回车>则程序的运行结果是__A_____.A) a B) b C) c D) 程序语法出错20、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是____D____.A) 1,19 B) -1,19 C) 1,17 D) -1,1721、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是______C____.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1122、已知a=12,则表达式a+=a-=a*=a的结果是_____A__.A) 0 B) 144 C) 12 D) -26423、若已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21 D) 1124、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是____D____.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是____D____.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,326、下面程序的输出结果是____A____.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,027、执行下面程序段后,输出结果是____A____.int a;int b=65536;a=b;printf("%d\n",a);A) 65536 B) 0 C) -1 D) 128、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是____B_____.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1029、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_____B____.A) 2.4 B) 2.5 C) 2.75 D) 030、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是____C____.A) 5.5 B) 5 C) 3 D) 4.031、以下程序的输出结果是____D____.#include<stdio.h>void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,1332、设有以下语句:int x=10;x+=3+x%(3),则x的值是.____A_____A) 14 B) 15 C) 11 D) 1233、若d为double型变量,则表达式d=1,d+5,d++的值是_____D__.A) 1 B) 6.0 C) 2.0 D) 1.034、表达式5!=3的值是____D____.A) T B) 非零值 C) 0 D) 135、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值______A____.A) 0 B) 1 C) 12 D) 636、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是__D__.A) 0 B) 2 C) 1.5 D) 1 37、在C语言中,以下叙述不正确的是_____A____.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____.A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y值的数据类型是___D____.A) float B) char C) int D) double40、一个C语言的执行是从_____A______.A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是____A____.A) 10<a<15 B) a==11||a==12||a==13||a==14C) a>10&&a<15 D) !(a<=10)&&!(a>=15)42、下列程序执行后的输出结果是_____C____.#include <stdio.h>void main( ){ int a=5,b=60,c;if (a<b){c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}A) 60/5=12 B) 300 C) 60*5=300 D) 1243、如果c为字符型变量,判断c是否为空格不能使用____A____.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')44、运行下面程序时,若从键盘输入"3,5<CR>",则程序的输出结果是____D____.#include <stdio.h>void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y)printf("x==y");else if (x>y)printf("x>y");elseprintf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45、运行下面程序时,若从键盘输入数据为"6,5,7<CR>",则输出结果是____C___.#include <stdio.h>void main( ){ int a,b,c;scanf("%d,%d,%d",&a,&b,&c);if (a>b)if (a>c)printf("%d\n",a);elseprintf("%d\n",c);elseif (b>c)printf("%d\n",b);elseprintf("%d\n",c);}A) 5 B) 6 C) 7 D) 不定值46、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是____A____.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 10 47、运行下面程序时,从键盘输入"2.0<CR>",则输出结果是___B_____.#include <stdio.h>void main( ){ float a,b;scanf("%f",&a);if (a<0.0) b=0.0;else if ((a<0.5) && (a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;else b=10.0;printf("%f\n",b);}A) 0.000000 B) 0.500000C) 1.000000 D) 0.25000048、执行下面程序后,运行结果是____A____.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是___A___.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是_____C___.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!Bye_Bye!51、执行下列程序段后的输出结果是_____A____.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A) 3 B) 2 C) 1 D) 452、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是__B___.A) Z B) a C) z D) A53、下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 054、运行下面程序时,若从键盘输入"5 <CR>",则程序的输出结果是_____B___.#include <stdio.h>void main( ){ int a ;scanf("%d",&a);if (a++>5)printf("%d\n",a);else printf("%d\n",a--) ;}A) 7 B) 6 C) 5 D) 455、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是____B___.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b); s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 2056、下列程序的执行结果是_____D____.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1 D) 3,157、假定等级和分数有以下对应关系:等级:A 分数:85~100等级:B 分数:60~84等级:C 分数:60 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是____D____.A) switch (grade){case 'A':printf("85--100\n");case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf("等级错误!\n");}B) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf(" 等级错误!\n");}C) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下\n");default:printf("等级错误!\n");}D) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下 \n");break;default:printf("等级错误!\n");}58、能够完成如下函数计算的程序段是__B____.┌ -1 x<0y= ┤ 0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;59、有如下程序#include <stdio.h>void main( ){ float x=5.0,y;if(x<0.0) y=0.0;else if (x<10.0) y=1.0/x;else y=1.0;printf("%f\n",y);}该程序的输出结果是____C_____.A) 0.000000 B) 0.50000C) 0.200000 D) 1.00000060、以下程序的执行结果是___B_____.#include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break; case 1:printf("second\n");break; }case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) second third61、以下程序的执行结果是____A____.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 2562、有如下程序:#include <stdio.h>void main( ){ int a=2,b=-1,c=2;if (a<b)if (b<0) c=0;else c++;printf("%d\n",c);}该程序的输出结果是___C_____.A) 0 B) 1 C) 2 D) 363、下列程序执行后的输出结果是____B____.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息64、有如下程序#include <stdio.h>void main( ){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是______A____.A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=265、下面程序的输出结果是____C_____.#include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 066、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序段执行后,m的值是____D_____.A) 4 B) 3 C) 2 D) 167、以下程序的输出结果是___D______.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 168、若执行下面的程序从键盘上输入9,则输出结果是.______B________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 869、以下程序输出结果是_____D_____.#include <stdio.h>void main( ){ int m=4;if (++m>5) printf("%d\n",m--); else printf("%d\n",--m);}A) 7 B) 6 C) 5 D) 470、若执行下面的程序从键盘上输入5,则输出结果是.#include <stdio.h>void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);else printf("%d\n",x--);}A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是____A____.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C) 4 D) 不确定的值72、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是____A____.A) 2,1 B) 3,2 C) 4,3 D) 2,-173、运行下面程序时,若从键盘输入数据为"123",则输出结果是___C____.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,174、执行下列程序后的输出结果是___D____.#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 175、以下条件表达式中能完全等价于条件表达式x的是____B___.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)76、若运行下面程序时,给变量a输入15,则输出结果是___A___.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 1077、运行下面程序后,输出是___D___.#include <stdio.h>void main( ){ int k=-3;if (k<=0) printf("****\n");else printf("####\n")}A) ####B) ****C) ####****D) 有语法错误不能通过编译78、执行下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出 ****D) 输出 ####79、为了避免嵌套的if-else语句的二义性,C语言规定else总是与___C___组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if80、设x 、y 、z 、t均为int型变量,则执行以下语句后,t的值为____C_____.x=y=z=1;t=++x || ++y && ++z;A) 不定值 B) 4 C) 1 D) 081、以下程序段____C______.x=-1;do{x=x*x;} while (!x);A)是死循环 B)循环执行两次C)循环执行一次 D)有语法错误82、对下面程序段描述正确的是___B____.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是____C____.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环 D)输出错误信息84、下面程序的运行结果是____B____.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D)4,985、下面程序段的运行结果是____B______.int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息86、下面程序段的运行结果是___D_____.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8D)8,2087、下面程序的运行结果是___B_____.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 688、函数pi的功能是根据以下近似公式求π值:____C______(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)请填空,完成求π的功能。

全国计算机c语言试题及答案

全国计算机c语言试题及答案

全国计算机c语言试题及答案一、选择题1. 下列哪个选项不是C语言的基本数据类型?- A. int- B. float- C. string- D. double2. 以下哪个是正确的C语言变量声明?- A. var int a;- B. int a = 0;- C. int a = 0.0;- D. int a = '0';3. 在C语言中,以下哪个是合法的数组初始化?- A. int arr[5] = {1, 2, 3};- B. int arr[5] = {1, 2, 3, 4};- C. int arr[5] = {1, 2, 3, 4, 5, 6};- D. int arr[5] = {1, 2, 3, 4.5, 5};4. 以下哪个是C语言中的函数原型?- A. void myFunction();- B. myFunction();- C. int myFunction(int, int);- D. myFunction(int a, int b);5. 在C语言中,以下哪个是正确的字符串常量?- A. "Hello World"- B. 'Hello World'- C. "Hello\nWorld"- D. "Hello\World"二、填空题1. 在C语言中,一个变量的声明必须在______。

2. 一个C语言程序的执行从______函数开始。

3. 用于输入输出的函数分别是______和______。

4. 一个数组的元素可以通过______访问。

5. 在C语言中,一个字符串常量以______结尾。

三、简答题1. 解释C语言中指针的概念及其用途。

2. 描述C语言中函数的作用域。

3. 简述C语言中结构体的定义和使用。

四、编程题1. 编写一个C语言程序,计算并输出1到100的整数和。

2. 编写一个C语言函数,实现字符串的反转。

c语言程序考试试题

c语言程序考试试题

c语言程序考试试题一、单项选择题(每题2分,共20分)1. 在C语言中,用于定义一个结构体的关键字是()。

A. varB. typeC. structD. def2. 下列哪个选项不是C语言标准输入输出库函数()。

A. printf()B. scanf()C. getchar()D. readline()3. 在C语言中,一个整型变量在内存中占用的字节数是()。

A. 1B. 2C. 4D. 84. C语言中,用于计算两个浮点数的差的运算符是()。

A. +B. -C. *D. /5. 下列哪个选项是正确的C语言数组初始化方式()。

A. int arr = {1, 2, 3};B. int arr[] = {1, 2, 3};C. int arr[3] = {1, 2, 3};D. int arr[3] = 1, 2, 3;6. C语言中,用于执行条件判断的语句是()。

A. ifB. switchC. caseD. for7. 在C语言中,表示“逻辑与”的运算符是()。

A. &&B. ||C. !D. ++8. 下列哪个选项不是C语言中预定义的库函数()。

A. pow()B. sqrt()C. sin()D. max()9. 在C语言中,用于表示字符的字面量是()。

A. ''B. ""C. <>D. []10. C语言中,用于实现无限循环的语句是()。

A. whileB. do-whileC. forD. switch二、填空题(每空3分,共30分)11. 在C语言中,一个浮点型变量定义为 `float x;`,其默认的初始值是________。

12. 函数 `void func(int a, int b)` 中的参数 `a` 和 `b` 被称为________参数。

13. C语言中,字符串常量存储在内存的________区域。

14. 表达式 `(int)2.99` 的值是________。

c语言试题及答案大全

c语言试题及答案大全

c语言试题及答案大全一、选择题1. 下列关于C语言的说法中,正确的是:A. C语言是一种高级编程语言。

B. C语言可以被编译成机器语言执行。

C. C语言的语法和C++完全相同。

D. C语言不支持面向对象的编程。

答案:B. C语言可以被编译成机器语言执行。

2. C语言中,以下哪个是合法的标识符?A. 123abcB. abc_123C. intD. function()答案:B. abc_1233. 在C语言中,以下哪种循环结构是先判断条件后执行循环体?A. for循环B. while循环C. do-while循环D. switch语句答案:C. do-while循环二、编程题1. 编写一个C程序,计算并输出1到n之间所有整数的和。

其中,n由用户输入。

答案:#include <stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += i;}printf("1到%d之间所有整数的和为%d\n", n, sum);return 0;}2. 编写一个C程序,判断一个整数是否为素数。

素数是指除了1和自身外,无法被其他整数整除的整数。

答案:#include <stdio.h>#include <stdbool.h>bool is_prime(int num) {if (num <= 1) {return false;}for (int i = 2; i * i <= num; i++) {if (num % i == 0) {return false;}}return true;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (is_prime(num)) {printf("%d是素数\n", num);} else {printf("%d不是素数\n", num);}return 0;}三、应用题1. 假设有一个班级的学生信息如下:学号姓名年龄性别101 张三 18 男102 李四 17 女103 王五 16 男请根据上述学生信息,编写一个C程序,输出学生的平均年龄。

C语言试卷(含答案)

C语言试卷(含答案)

C语言试卷(含答案)一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和分别赋给i和f,则正确的输入为()。

A. 100B. i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)< p="">if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);}上面的C程序的输出结果是()。

A. 20B. 1C. 0D. -14、C语言中,while和do…while循环的主要区别是()。

A. do…while的循环体至少无条件执行一次B. while的循环控制条件比do…while的循环控制条件严格C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句5、执行下面的C程序段后,输出结果是()。

inta=5; while(a--);printf("%d",a);A. 54321B. 4321C. 0D. -16、在C语言中,()是在所有函数外部声明的。

A. 全局变量B. 局部变量C. 形参D.实参7、分析下面的C程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。

A. 123B. 012C. 23D. 128、下面的C语言代码段的输出结果是()。

c语言考试题及答案

c语言考试题及答案

c语言考试题及答案C语言考试题及答案一、选择题(每题2分,共20分)1. 下列哪个是C语言的合法标识符?A. 3variableB. variable3C. variable-3D. variable#3答案:B2. C语言中,哪个关键字用于定义一个函数?A. functionB. defineC. voidD. int答案:D3. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello\tWorld"答案:A4. C语言中,以下哪个是正确的数组声明?A. int array[10];B. int [10] array;C. int array = 10;D. int 10[array];答案:A5. 在C语言中,哪个运算符用于求两个数的余数?A. %B. /C. //D. ÷答案:A二、填空题(每空2分,共20分)1. C语言中,用于定义变量的关键字是________。

答案:int, float, double, char等2. 一个C程序的执行从________函数开始。

答案:main3. 在C语言中,________运算符用于连接字符串。

答案:+4. 在C语言中,________关键字用于声明一个数组。

答案:array5. 一个C程序中,________语句用于结束程序的执行。

答案:return三、简答题(每题10分,共20分)1. 请简述C语言中指针的概念及其用途。

答案:指针是一种变量,它存储了另一个变量的内存地址。

指针的主要用途包括动态内存分配、数组操作、函数参数传递等。

2. 解释C语言中的递归函数,并给出一个简单的例子。

答案:递归函数是指在函数内部调用自身的函数。

递归通常用于解决可以分解为相同问题的子问题的问题,如阶乘计算、斐波那契数列等。

C语言试题及答案

C语言试题及答案

C语言试题及答案集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#第1章C语言概述习题1. 单项选择题(1) C 语言是在 B 语言的基础上产生的。

A. 回车符B. 冒号C. 逗号D. 分号(2) 在 C 语言中,每个语句必须以 D 结束。

A. 回车符B. 冒号C. 逗号D. 分号(3) 标识符和关键字间,要用 C 隔开。

A. 回车符B. 冒号C. 空格D. 分号(4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。

A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D.自动保存源文件(5) 下列说法中正确的是( B )。

A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入C. 由于C 程序是高级语言程序,因此输入后即可执行D. 由于 C 程序是高级语言程序,因此它由命令组成(6) 下列说法中正确的是( A )。

A. C 语言程序由主函数和 0 个或多个函数组成B. C 语言程序由主程序和子程序组成C. C 语言程序由子程序组成D. C 语言程序由过程组成(7) 下列说法中错误的是( D )。

A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行2. 填空题(1) C 语言只有 37 个关键字和 9 种控制语句。

(2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

(3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。

(4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。

(5) C 语言的程序中有特殊含义的英语单词称为保留字。

c语言考试试题及答案

c语言考试试题及答案

c语言考试试题及答案C语言考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言的关键字?A. voidB. StringC. intD. array答案:A2. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C3. 在C语言中,以下哪个是正确的字符串定义?A. char str[10] = "Hello";B. string str = "Hello";C. char str[] = "Hello";D. string str[10] = "Hello";答案:A4. 下列哪个选项是C语言中数组的正确声明方式?A. int array[10];B. int array(10);C. int array = 10;D. int array = {10};答案:A5. 在C语言中,哪个函数用于计算两个数的最大值?A. max()B. min()C. abs()D. pow()答案:A6. 以下哪个是C语言中的逻辑运算符?A. &&B. ||C. %D. /答案:A7. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C8. C语言中,以下哪个语句用于结束一个循环?A. continue;B. break;C. return;D. exit;答案:B9. 在C语言中,哪个函数用于打印输出?A. printf()B. print()C. display()D. show()答案:A10. 以下哪个选项是C语言中正确的条件语句?A. if (x = 10)B. if (x == 10)C. if (x : 10)D. if (x / 10)答案:B二、填空题(每空2分,共20分)1. C语言中,用于定义变量的关键字是________。

C语言试题库(带答案解析)~排版

C语言试题库(带答案解析)~排版

C语⾔试题库(带答案解析)~排版⼀、选择题1、以下不能定义为⽤户标识符的是()。

(A) MAIN (B) _HJ(D) LINE1 2、以下不能定义为⽤户标识符的是() (A) If(B) H_J (D) LINE12 3、下⾯属于C 语⾔标识符的是( )。

(A) 2ab (B) @f(C) b 4、下列符号中⽤来表⽰C 语⾔中的回车换⾏的是()。

(A) \r(C) \b (D) \t 5、在计算机系统中,可执⾏程序是() (A)源代码(B)汇编语⾔代码(D) ASCII 码6、在Visual C++ 环境下,C 源程序⽂件名的默认后缀是()。

(A) .obj (B) .txt (D) .doc7、Microsoft Visual C++ 中,C 语⾔可执⾏程序的扩展名是:( )(B) obj (C) c 或cpp (D) txt 8、C 程序由()组成。

(A)⼦程序 (B) 主程序和⼦程序 (D) 过程 9、C 程序的基本组成单位()。

(A) 数据类型 (B) 变量和常量 (D) 表达式 10、C 语⾔中主函数的个数是( )。

(A) 2个 (C) 任意个 (D) 10个 11、⼀个C 程序的执⾏是从() (B)本程序⽂件的第⼀个函数开始,到本程序⽂件最后⼀个函数结束. (C)本程序⽂件的第⼀个函数开始,到本程序main 函数结束. (D)本程序的main()函数开始,到本程序⽂件的最后⼀个函数结束. 12、以下叙述正确的是(A)在C 语⾔程序中,main 函数必须放在其他函数的最前⾯ (C)在C 语⾔程序中,只有main 函数才可单独进⾏编译 (D)每个后缀为.C 的C 语⾔源程序都应该包含⼀个main 函数13、设变量a 是整型,b 是实型,c 是双精度型,则表达式2+’a’+b*c 值的数据类型是()。

(A) int (B) float 14、以下选项中表⽰⼀个合法的常量是(说明:符号□表⽰空格)A) 9□9□9 C) D)15、以下选项中⾮法的字符常量是A)'\102' B)'\65' C)'\xff' 16、以下选项中,能表⽰逻辑值“假”的是A)1 B) D)17、下列关系表达式中,结果为“假”的是 A)(3+4)>6 C) 3<=4||3 D)(3<4)==1 18、关于C 语⾔变量,以下说法不正确的是() (A) 变量名由程序员定义,必须符合标识符的命名规则。

c语言c语言考试题库及答案

c语言c语言考试题库及答案

c语言c语言考试题库及答案一、选择题1. 在C语言中,用于定义变量的关键字是:A. defineB. varC. intD. let答案:C2. 下列哪个是C语言中的合法标识符?A. 2variableB. variable2C. variable-twoD. variable#答案:B3. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C4. C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello\tWorld"答案:A5. 以下哪个是C语言中的控制语句?A. ifB. switchC. both A and BD. none of the above答案:C二、填空题6. 在C语言中,一个基本的程序结构包括____、____和____。

答案:预处理指令;函数定义;语句7. 一个C语言程序的执行从____函数开始。

答案:main8. 在C语言中,使用____关键字可以定义一个函数。

答案:void 或其他数据类型9. 一个C语言数组的元素默认情况下是按照____顺序存储的。

答案:连续10. C语言中的____运算符用于连接字符串。

答案:+三、简答题11. 解释C语言中指针的概念。

答案:指针是一种变量,它存储了另一个变量的内存地址。

通过指针,可以直接操作内存地址中的数据,实现数据的间接引用。

12. 描述C语言中结构体的定义和使用。

答案:结构体是一种用户自定义的数据类型,它允许将多个不同类型的变量组合成一个单一的类型。

定义结构体时,使用struct关键字,然后定义结构体的名称和成员。

使用结构体时,可以创建结构体变量,并通过点(.)运算符访问其成员。

四、编程题13. 编写一个C语言程序,计算并输出1到100的整数之和。

c语言考试试题及答案

c语言考试试题及答案

c语言考试试题及答案一、选择题1. 在C语言中,下列哪个关键字用于声明一个变量的名称?A. defineB. intC. printfD. scanf答案:B2. 函数的返回类型可以是下列哪种类型?A. intB. floatC. charD. all of the above答案:D3. 下列哪个运算符用于访问结构体变量的成员?A. .B. ->C. :D. ,答案:A4. 文件指针是下列哪种类型?A. FILEB. pointerC. file*D. fp答案:A5. 下面哪个循环结构在执行前先判断条件,再决定是否执行循环体?A. forB. whileC. do-whileD. switch答案:B二、填空题1. C语言中,用于定义常量的关键字是____。

答案:const2. 在C语言中,用于输出结果到控制台的函数是____。

答案:printf3. C语言中,用于读取用户输入的函数是____。

答案:scanf4. 下面是一个二维数组的声明方式:int arr[3][4];那么该数组的元素个数是____。

答案:125. C语言中,用于在循环执行过程中跳过当前迭代的关键字是____。

答案:continue三、编程题请编写一个程序,实现从键盘输入两个整数,然后输出它们的和。

```c#include <stdio.h>int main(){int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```以上是一道简单的示例题目,通过该题目可以熟悉C语言的基本输入输出、变量声明和运算符等基础知识。

C语言试题库

C语言试题库

程序设计基础试题库一、判断题(共203小题)(a为正确,b为错误)1、答案:a。

c程序的基本组成单位是函数2、答案:b。

c程序的一行只能写一条语句.3、答案:b。

main 函数必须写在一个 C 程序的最前面4、答案:a。

一个 C 程序可以包含若干函数,但必须有主函数。

5、答案:b。

一个c程序的执行是从本程序文件的第一个函数开始,到本程序文件的最后一个函数结束6、答案:a。

C语言是一种结构化程序设计语言。

()7、答案:a。

在标准C中,语句是用来完成一定的操作的,故声明部份不是语句。

8、答案:a。

一个C程序可以有若干个C源程序组成,而C源程序可以由若干个函数和预处理组成。

()9、答案:a。

在标准C中,语句必须以“;”结束。

()10、答案:a。

C语言本身并不提供输入输出语句。

但可以通过输入输出函数来实现数据的输入输出。

()11、答案:b。

在标准C中,使用所有输入输出函数必须包含“stdio.h”文件。

()12、答案:b。

在标准C语言中,main函数必须出现的所有其他函数之前。

()13、答案:b。

在C程序中,注释说明只能位于一条语句的后面14、答案:b。

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

C语言程序的三种基本结构是顺序结构、选择结构和循环结构。

()16、答案:a。

计算机算法可以分两大类别:数值运算算法和非数值运算算法。

17、答案:b。

用C语言实现的算法必须要有输入和输出操作18、答案:a。

一个算法应该具备有穷性、确定性、输入、输出和有效性。

()19、答案:a。

一个算法应包含有限的操作步骤,而不能是无限的。

20、答案:a。

表示一个算法常用的方法是:自然语言、传统流程图、结构化流程图、计算机语言、伪代码等。

21、答案:b。

在Turbo C中,浮点型数据在内存中占4个字节。

()22、答案:b。

a-b是合法的标识符23、答案:b。

char型数据在内存中以反码的形式存储的24、答案:a。

C语言试题库

C语言试题库

二、数据类型、运算符与表达式 (一)(一)选择题1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。

x=(i=4,j=16,k=32)A) 4 B) 16 C) 32 D) 522.下列四组选项中,均不是C语言关键字的选项是 A 。

A) define IF typeB) getc char printfC) include case scanfD) while go pow3.下列四组选项中,均是不合法的用户标识符的选项是 B 。

A) W P_0 doB) b-a goto intC) float la0 _AD) -123 abc TEMP4.下列四组选项中,均是合法转义字符的选项是 A 。

A) ‘\”’ ‘\\’ ‘\n’B) ‘\’ ‘\017’ ‘\”’C) ‘\018’ ‘\f’ ‘xab’D) ‘\\0’ ‘\101’ ‘xlf’5.下面正确的字符常量是 D 。

A) “c” B) ‘\\’’ C) ‘’ D) ‘K’6.以下叙述不正确的是 C 。

A) 在C程序中,逗号运算符的优先级最低B) 在C程序中,MAX和max是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,二b中的值不变D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值7.以下叙述正确的是 C 。

A) 在C程序中,每行只能写一条语句B) 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C) 在C程序中,%是只能用于整数运算的运算符D) 在C程序中,无论是整数还是实数,都能被准确无误地表示8.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后,c2中的值为 B 。

A) D B) 68 C) 不确定的值 D) C9. sizeof(float)是 C 。

A) 一个双精度型表达式 B) 一个整型表达式C) 一种函数表达式 D) 一个不合法的表达式10.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二、数据类型、运算符与表达式 (一)(一)选择题1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。

x=(i=4,j=16,k=32)A) 4 B) 16 C) 32 D) 522.下列四组选项中,均不是C语言关键字的选项是 A 。

A) define IF typeB) getc char printfC) include case scanfD) while go pow3.下列四组选项中,均是不合法的用户标识符的选项是 B 。

A) W P_0 doB) b-a goto intC) float la0 _AD) -123 abc TEMP4.下列四组选项中,均是合法转义字符的选项是 A 。

A) …\”‟‘\\‟‘\n‟B) …\‟‘\017‟‘\”‟C) …\018‟‘\f‟‘xab‟D) …\\0‟‘\101‟‘xlf‟5.下面正确的字符常量是 D 。

A) “c”B) …\\‟‟C) ‘’D) …K‟6.以下叙述不正确的是 C 。

A) 在C程序中,逗号运算符的优先级最低B) 在C程序中,MAX和max是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,二b中的值不变D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值7.以下叙述正确的是 C 。

A) 在C程序中,每行只能写一条语句B) 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C) 在C程序中,%是只能用于整数运算的运算符D) 在C程序中,无论是整数还是实数,都能被准确无误地表示8.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=…A‟+…6‟-…3‟后,c2中的值为 B 。

A) D B) 68 C) 不确定的值D) C9.sizeof(float)是 C 。

A) 一个双精度型表达式B) 一个整型表达式C) 一种函数表达式D) 一个不合法的表达式10.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。

A) 0~255 B) 0~32767 C) 0~65535 D) 0~214748364711.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为D 。

A) float B) char C) int D) double12.设以下变量均为int类型,则值不等于7的表达式是 C 。

A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)C) (x=6,x+1,y=6,x+y) D) (y=6,y+1,x=y,x+1)(二)填空题1.若有以下定义,则计算表达式y+=y-=m*=y后的y值是-16 。

int m=5,y=2;2. 在C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为-32768~+32767。

3. 若s是int型变量,且s=6,则下面表达式的值为 1 。

s%2+(s+1)%24. 若a是int型变量,则下面表达式的值为46 。

(a=4*5,a*2),a+65.若x和a均是int型变量,则计算表达式(1)后的x值为12 ,计算表达式(2)后的x 值为 4 。

(1) x=(a=4,6*2)(2) x=a=4,6*26. 若a是int型变量,则计算下面表达式后a的值为 2 。

a=25/3%37.若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为10 ,n 的值 6 。

x+=n++8. 若有定义:char c=…\010‟;则变量c中包含的字符个数为1。

9.若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为 1(x+y)%2+(int)a/(int)b10. 已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=…a‟+…8‟-…3‟的值为102 。

三、简单的C程序设计(一)(一)选择题1.putchar函数可以向终端输出一个 D 。

A) 整型变量表达式B) 实型变量值C) 字符串D) 字符或字符型变量值2.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。

如果字符串长度大于5,则输出按方式B ;如果字符串长度小于5,则输出按方式C 。

A) 从左起输出该字符串,右补空格B) 按原字符长从左向右全部输出C) 右对齐输出该字符串,左补空格D) 输出错误信息3.阅读以下程序,当输入数据的形式为:25,13,10<CR>(注:<CR>表示回车),则正确的输出结果为 D 。

main(){ int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A) x+y+z=48 B) x+y+z=35 C) x+z=35 D) 不确定值4. 根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为AC 。

main(){ char ch1,ch2,ch3;输入语句printf(“%c%c%c”,ch1,ch2,ch3);}输出形式:A B C输入形式:A B CA) scanf(“%c%c%c”,&ch1,&ch2,&ch3);B) scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);</P< p>C) scanf(“%c %c %c”,&ch1,&ch2,&ch3);D) scanf(“%c%c”,&ch1,&ch2,&ch3);5.已知ch是字符型变量,下面正确的赋值语句是 B 。

A) ch=…a+b‟; B) ch=…\0‟; C) ch=…7‟+…9‟; D) ch=5+9;</P< p>(二)填空题1.以下的输出结果是【-4,】。

main(){ short i;i=-4;printf(“\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n”,i,i,i,i);}2. 以下的输出结果是【15, , ,15】。

main(){ char c=…x‟;printf(“c:dec=%d,oct=%o,hex=%x,ASCII=%c\n”,c,c,c,c);}3.以下的输出结果是【x=1y=2*sum*=310 Squared is:100】。

main(){ int x=1,y=2;printf(“x=%d y=%d * sum * =%d\n”,x,y,x+y);printf(“10 Squared is : %d\n”,10*10);}4. 假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。

请填空。

a+=【a】; b=a-【a】; a-=【a】;5.若x为int型变量,则执行以下语句后的x 值为【-14】。

x=7; x+=x- =x+x;z=m=0xFFFF6. 有一输入语句scanf(“%d”,k);则不能使float类型变量k得到正确数值的原因是【输出格式是整型】和【】。

四、逻辑运算与判断选取控制(一)(一)选择题1.逻辑运算符两侧运算对象三数据类型 D 。

A) 只能是0和1 B) 只能是0或非0正数C) 只能是整型或字符型数据D) 可以是任何类型的数据2.判断char型变量ch是否为大写字母的正确表达式是 C 。

A) …A‟<=ch<=…Z‟B) (ch>=…A‟)&(ch<=…Z‟)C) (ch>=…A‟)&&(ch<=…Z‟)D) (…A‟<= ch)AND(…Z‟>= ch)3.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。

则以下不能满足要求的表达式是 A 。

A) A%2==1 B) !(A%2==0) C) !(A%2) D) A%24.设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为 B 。

A) 1 B) 2 C) 3 D) 45.以下程序的运行结果是 B 。

main(){ int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A) 6,1 B) 2,1 C) 6,0 D) 2,06.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 A 。

if(x>y) z=x; x=y; y=z;A) x=10, y=20, z=30 B) x=20, y=30, z=30C) x=20, y=30, z=10 D) x=20, y=30, z=20</P< p>7.以下程序的运行结果是 A 。

main(){ int m=5;if(m++>5)printf(“%d\n”,m);else;printf(“%d\n”,m--);}A) 4 B) 5 C) 6 D) 78.若运行时给变量x输入12,则以下程序的运行结果是0 。

main(){ int x,y;scanf(“%d”,&x);y=x>12 ? x+10 : x-12;printf(“%d\n”,y);}A) 4 B) 3 C) 2 D) 1</P< p>(二)编程题1.编程实现:输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。

2. 编程判断输入的正整数是是否既是5又是7的整倍数。

若是,则输出yes;否则输出no。

#include <stdio.h>void main(){int x;scanf("%d",&x);if((x%5==0)&&(x%7==0)) printf("yes");else printf("no");}3. 用switch编程实现:{ -1 (x<0)y = { 0 (x=0){ 1 (X>0)4.用switch语句编一程序,对于给定的一个百分制成绩,输出相应的五分制成绩,设:90分以上为…A‟,80~89分为…B‟,70~79分为…C‟,60~69分为…D‟,60分以下为…E‟五、循环控制(一)(一)选择题1.设有程序段int k=10;while(k=0)k=k-1;这下面描述中正确的是___C______.a)while循环执行10次b)循环是无限循环c)循环体语句以此也不执行d)循环体语句执行一次2.语句while(!E);中的表达式!E等价于___A_____.a)E==0 b)E!=1 c)E!=0 d)E==13.下面程序段的运行结果是____D_____.int n=0;while(n++<=2);printf("%d",n);a)2 b)3 c)4 d)有语法错4.下面程序的运行结果是__C__.#include<stdio.h>main(){int num=0;while(num<=2){num++;printf("%d\n",num);}}</P< p>a)1 b)1 c)1 d)12 2 23 345.以下程序段____C____.x=-1;do{x=x*x;}while(!x);a)是死循环b)循环执行二次c)循环执行一次d)有语法错误6.若有如下语句int x=3;do{printf(""%d\n",x-=2);}while(!(--x));则上面程序段___A___.a)输出的是1 b)输出的是1和-2 c)输出的是3和0 d)是死循环7.下面程序的运行结果是______.#include<stdio.h></P< p>main(){int y=10;do{y--;}while(--y);printf("%d\n",y--);}a)-1 b)1 c)8 d)08.若i为整型变量,则以下循环执行次数是__B___.for(i=2;i==0;)printf("%d",i--);a)无限次b)0次c)1次d)2次9.执行语句for(i=1;i++<4; );后变量i的值是__D____.a)3 b)4 c)5 d)不定10.以下正确的描述是____B___.a)continue语句的作用是结束整个循环的执行b)只能在循环体内和switch语句体内使用break语句c)在循环体内使用break语句或continue语句的作用相同d)从多层循环嵌套中退出时,只能使用goto语句</P< p>五、循环控制(二)(二)、填空题1.下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。

相关文档
最新文档