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、 if, 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.42;则以下不符合C语言语法的表达式是A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b=4)*(a=3)第三章简单C程序设计(1)putchar函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若x,y均定义为int型,z定义为double 型,以下合法的scanf函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z);B、scanf(“%2d*%d%lf”,&x,&y,&z);C、scanf(“%x%*d%o”,&x,&y,&z);D、scanf(“%x%o%6.2f”,&x,&y,&z);(3)当输入数据的形式为:25,13,10<回车>时,以下程序的输出结果为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=48B、x+y+z=35C、x+z=35D、不确定值(4) 以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是A、int a=b=c=5;B、int a, b, c=5;C、a=5, b=5, c=5;D、a=b=c=5;(5) 若有以下定义,则正确的赋值语句是int a,b; float x;A、a=1, b=2;B、b++;C、a=b=5;D、b=int(x);第四章选择结构程序设计(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1)││(x<=10) ││(x.>=200) ││(x<=210)C、(x>=1) &&(x<=10) ││(x.>=200) &&(x<=210)D、(x>=1)││(x<=10)&& (x.>=200) ││(x<=210)(2)以下程序的运行结果是#include “stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A、6,1B、2,1C、6,0D、2,0(3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(“* * *\n”); else printf(“$ $ $\n”); }以上程序。

c语言大作业综合

c语言大作业综合

c语言大作业综合第一章C语言简介及算法一.选择题1.一个C程序可以包含的函数。

A.一个B.多个C.若干D.任意2.下面不可以使用来编译和连接一个C 程序。

A.TurboCB.VC++C.C语言编译器D.BC3.C语言的程序一行写不下时,可以。

A.用逗号换行B.用分号换行C.在任意一空格处换行D.用回车符换行4.C控制语句有种。

A.6B.9C.32D.345.复合语句是用一对界定的语句块。

A.{}B.[]C.()D.”6.一个C程序的执行总是从该程序的函数开始,在函数最后结束。

A.第一个、最后一个B.main、mainC.主函数、最后一个D.第一个、第一个7.C语言提供的合法的数据类型关键字A.FloatB.ignedC.integerD.Char8.在以下各组标识符中,合法的标识符是(1)A.B01B.table_1C.0_tD.k%(2)A.Fat_B.voidC.pblD.(3)A.某y_B.longdoubleC.某pD.CHAR(4)A.jB.IntC._某yD.w_y239.C语言的标识符里不能有A.大小写字母B.数字C..D.下划线二.填空题1.C程序是由构成的,一个C程序中至少包含因此,是C程序的基本单位。

2.C程序注释是由和所界定的文字信息组成的。

3.函数体一般包括和4.算法是解决问题的和的描述。

5.C程序的注释部分可以出现在程序的位置,它对程序的编译和运行作用,但是可以增加程序的第二章C语言数据类型、基本运算及简单程序设计一.选择题1.不合法的字符常量是A.‘\\t’B.“A”C.‘a’D.’\\某32’2.逻辑运算符两侧运算对象的数据类型。

A.只能是0或1B.只能是0或非0正数C.只能是整型或字符型数据D.可以是任何类型的数据3.下列表达式中,不满足“当某的值为偶数时值为真,为奇数时值为假”的要求。

A.某%2==0B.!某%2!=0C.(某/2某2-某)==0D.!(某%2)4.下面选项中,不是合法整型常量的是A.160B.-0某cdgC.-01D.-0某48a5.能正确表示“当某的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是。

c语言作业

c语言作业

作业一C语言概述一、选择题1-个C程序的执行是从A.本程序的main函数开始,到main函数结束B.本程序文件的第-个函数开始,到本程序文件的最后-个函数结束C.本程序的main函数开始,到本程序文件的最后-个函数结束D.本程序文件的第-个函数开始,到本程序main函数结束2以下叙述正确的是:A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写-条语句C.C语言本身没有输入输出语句D.在对-个C程序进行编译的过程中,可发现注释中的拼写错误3以下叙述不正确的是A.-个C源程序可由-个或多个函数组成B.-个C源程序必须包含-个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于-条语句的后面4C语言规定:在-个源程序中,main函数的位置A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后5-个C语言程序是由A.-个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成二、编程题编写一个C程序,输出以下信息:****************************************Hello,world!****************************************作业二程序的灵魂——算法一.填空题1.算法的五个特性是指:有穷性、、、、。

2、三种基本的程序结构是:、、。

3、程序中的子模块在C语言中用来实现。

作业三数据类型、运算符与表达式一、选择题1以下结果为整数的表达式(设有int i;char c;float f;)( ).A.i十f B.i*c C.c十f D.i十c十f2以下不正确的语句(设有int p,q)是( )。

A.P*=3; B.p/=q; C.p十=3; D.p&&=q;3以下使i的运算结果为4的表达式是( )。

A.int i=0,j=0;(i=3,(j十十)十i);B.int i=1,j=0;j=i=((i=3)*2);C.int i=0,j=1;(j==1)?(i=1);(i=3);D.int i=1,j=1;i+=j十=2;4下列四组选项中,均不是C语言关键字的选项是( ).A)define B)getc C)include D)whilei f char sanf gotype printf case pow5下列四个选项中,均是C语言关键字的选项是( )。

C语言练习作业及参考答案

C语言练习作业及参考答案
(5)输入圆的半径r,计算并输出圆的周长和面积,要求将 定义为符号常量。
二、选择题
1、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为____A___。
A) char<int<long int<=float<double
B) char=int <long int<=float<double
B)C程序的每行中只能写一条语句
C)C语言本身没有输入输出语句
D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误
7、以下叙述不正确的是___D_____。
A)一个C源程序可由一个或多个函数组成
B)一个C源程序必须包含一个main函数
C)C程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面
longd=32768;
float e=4.56;
b=a;
a=c=d;
printf("%d,%u,%u,%ld\n",a,b,c,d);
a=e;
printf("%d,%f\n",a,e);
ห้องสมุดไป่ตู้return 0;
}
本题假设int型数据占两个字节。
(提示:%u表示以无符号整型的格式输出;%ld表示以长整型的格式输出)
8、C语言规定:在一个源程序中,main函数的位置是___A_____。
A)必须在最开始
B)必须在系统调用的库函数的后面
C)可以任意
D)必须在最后
习题
一、程序题
1、阅读程序写运行结果
(1)#include <stdio.h>
int main()

C语言上机作业试题5套含答案

C语言上机作业试题5套含答案

第一次上机作业(2021):要求:独立完成,上机调试通事后上交作业提交邮件主题命名:班级学号姓名(第1次作业),例如:电1301班2王鹏(第1次作业)以附件形式将每次作业的所有程序源程序紧缩打包后提交,紧缩文件命名格式同上。

程序必需采用缩进格式1.大写字母转换成小写字母从键盘输入一个大写英文字母,输出相应的小写字母。

例:输入G输出g2.求平方根输入一个实数x,计算并输出其平方根(保留1 位小数)。

例:输入17输出The square root of is3.温度转换设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32)a)输入华氏温度(实型)b)输出的摄氏温度结果保留两位小数例:Please input Fahrenheit temperature:The corresponding Celsius temperature is4. 计算旅途时刻输入二个整数time1 和time2,表示火车的起身时刻和抵达时刻,计算并输出旅途时刻。

(输入的有效的时刻范围是0000 到2359,不需要考虑起身时刻晚于抵达时刻的情形。

)例:输入712 1411 (起身时刻是7:12,抵达时刻是14:11)输出The train journey time is 6 hours 59 minutes.5. 数字加密输入一个四位数,将其加密后输出。

方式是将该数每一名上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。

例:输入1257输出The encrypted number is 4601试探题:你可否编程找出谁做的好事?有四位同窗中的一名做了好事,不留名,夸奖信来了以后,校长问这四位是谁做的好事。

⏹A说:不是我。

⏹B说:是C。

⏹C说:是D。

⏹D说:他乱说。

已知三个人说的是实话,一个人说的是谎话。

此刻要依照这些信息,找出做了好事的人。

c语言试题及答案 ()

c语言试题及答案 ()

第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 语言的程序中有特殊含义的英语单词称为保留字。

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

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

计算机c语言习题(含答案)

计算机c语言习题(含答案)

1. 有如下程序main(){ int n[5]={0,0,0},i,k=2;for(i=0;i < k;i++) n[i]=n[i]+1;printf("%d\n",n[k]);}该程序的输出结果是 DA、不确定的值B、2C、1D、02. 执行下面的程序后,a的值为__B___main(){ int a,b;for (a=1,b=1;a < 100;a++){if (b > =20) break;if (b%3==1){ b+=3; continue; }b-=5;}}A、7B、8C、9D、103. 下述程序的输出结果是( B )。

#includemain(){int k=0,m=0;int i,j;for(i_O;i<2;i++){for(j:0;j<3;j++)k++:k一=j;}m=i+j;printf(”k=%d,m=%d”,k,m);}A、k=0,m=3B、k=O,m=5C、D)k=l,m=3D、D)k=l,m=54. 以下程序段____C__x=-1;do{x=x*x;}while(!x);A、是死循环B、循环执行二次C、循环执行一次D、有语法错误5. 有如下程序 Bmain(){ int n=9;while(n > 6) {n--;printf("%d",n);}}该程序段的输出结果是A、987B、876C、8765D、98766. 有以下程序main(){ int i, j;for(j=10;j < 11;j++){ for(i=9;i < j; i++)if (!(j%i))break;if(i=j-1)printf("%d",j);}}输出结果是 BA、11B、10C、9D、10 117. 以下程序的输出结果是 Amain( ){ int i;for(i=1;i < 6;i++){ if(i%2){printf("#");continue;}printf("*");}printf("\n");A、#*#*#B、#####C、*****D、*#*#*8. 以下叙述正确的是( D )A、do-while语句构成的循环不能用其它语句构成的循环来代替B、do-while语句构成的循环只能用break语句退出C、用do-while语句构成的循环,在while后的表达式为非零时结束循环。

c语言考试题及答案

c语言考试题及答案

c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言具有跨平台的特性答案:B2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A4. 下列关于数组的描述中,正确的是:A. 数组必须在程序开始时初始化B. 数组的元素可以是不同的数据类型C. 数组的索引从1开始D. 数组的声明必须指定数组的大小答案:D5. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. functionD. define答案:B6. C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. &答案:A7. 下列哪个选项是C语言中合法的注释?A. // 这是一个注释B. /* 这是一个注释 */C. // 这是一个注释/* 这是一个注释 */D. /* 这是一个注释 */答案:A8. C语言中,用于定义一个空指针的值是:A. NULLB. 0C. falseD. none答案:A9. 下列关于指针的描述中,错误的是:A. 指针可以存储变量的地址B. 指针可以存储函数的地址C. 指针可以存储数组的索引D. 指针可以存储指针的地址答案:C10. 在C语言中,用于定义一个字符型指针的声明是:A. char *ptr;B. int *ptr;C. float *ptr;D. double *ptr;答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语法是:______ int array[10];。

答案:int2. 如果一个变量的值是10,那么表达式sizeof(&var)的结果是:______。

C语言试题练习及答案(都是历年的考题)

C语言试题练习及答案(都是历年的考题)

C语言试题练习及答案(都是历年的考题)第一部分:选择题(40分,20小题/套)概述1、下面关于C语言的叙述中,正确的是()A. 每行只能写一条语句B. 程序中必须包含有输入语句C. main函数必须位于文件的开头D. 每条语句最后必须有一个分号 2、下面关于C语言的叙述中,错误的是() A. 若一条语句较长,也可分写在下一行上 B. 构成C语言源程序的基本单位是表达式 C. C语言源程序中大、小写字母是有区别的 D. 一个C语言源程序可由一个或多个函数组成 3、关于C语言数据类型的叙述,正确的是()A. 枚举类型不是基本类型B. 数组不是构造类型C. 变量必须先定义后使用D. 不允许使用空类型 4、C程序中main函数的位置()A. 必须在最开始B. 必须在系统库函数后面C. 可以在自定义函数后面D. 必须在最后 5、C语言的函数体由()括起来A. ( )B. { }C. [ ]D. /* */6、关于C语言的叙述中,不正确的是()A. C程序可由一个或多个函数组成B. C程序必须包含一个main()函数C. C程序的基本组成单位是函数D. 注释说明只能位于一条语句的后面 7、一个程序的执行是从()A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到main函数结束C. 本程序的main函数开始,到最后一个函数结束D. 本程序的第一个函数开始,到main函数结束 8、结构化程序设计的三种基本结构是()A. 函数结构、分支结构、判断结构B. 函数结构、嵌套结构、平行结构C. 顺序结构、分支结构、循环结构D. 分支结构、循环结构、嵌套结构 9、调试程序是指对程序进行()A. 编辑B. 编译C. 查错和排错D. 连接10、C语言中,复合语句的构成是将一系列语句置于() A. begin与end之间B. 一对圆括号“()”之间C. 一对花括号“{ }”之间D. 一对方括号“[ ]”之间 11、构成C语言源程序的基本单位是() A. 语句 B. 过程 C. 表达式 D. 函数语法基础12、在C语言中,正确的用户标识符是() A. 3f B. _for C. structD. _f.5113、C语言的基本数据类型包括()A. 整型、实型、字符型B. 整型、实型、字符型、逻辑型C. 整型、字符型、逻辑型 D. 整型、实型、逻辑型 14、以下()是正确的常量A. E-5B. 1E5.1C. ?a12?D. 32766L 15、以下()是正确的变量名A. a.beeB. �Cp11C. intD. p_11 16、以下()是正确的字符常量A. “c”B. ?//”C. ?W?D. “\\32a” 17、以下()是不正确的字符串常量A. ?abc?B. “12?12”C. “0”D. “ “ 18、C语言的整型数据在内存中的存储形式是() A. 原码 B. 反码 C. 补码 D. ASCII码19、以下()是正确的浮点数A. e3B. .62C. 2e4.5D. 123 20、下列不属于C语言关键字的是()A. continueB. integerC. staticD. signed 21、C语言的字符型数据在内存中的存储形式是() A. 原码 B. 补码 C. 反码 D.ASCII 22、在C语言中,变量所分配的内存空间大小是() A. 由变量的类型决定B. 由用户自己决定C. 任意的D. 均为两个字节23、若有定义:int a=2;则正确的赋值表达式是()A. a-=(a*3)B. double(-1)C. a*3D. a*4=3 24、语句x=(a=3,b=++a);运行后,x、a、b的值依次为() A. 3,3,4 B. 4,4,3 C.4,4,4 D. 3,4,3 25、语句a=(3/4)+3%2;运行后,a的值为() A. 0 B. 1 C. 2 D. 326、以下四项中,符合C语言语法的语句是()A. int a+b=c;B. int a=12:b=12:c=12;C. int a=12,b=12,c=12;D. int a,b=12,float c=2127、若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为() A.3,3 B. 4,4 C. 4,3 D. 3,428、若变量已正确定义并赋值,符合C语言语法的表达式是()A. a=8+b+c,a++B. a=3aC. int(12.3%4)D. a=a+1=c+b 29、若有定义:int a,b;double x;则以下不符合C语言语法的表达式是() A. x%(-3) B. a+=-1 C. a=b=2 D. x=a+b30、若有定义:int x=2,y=3;float i;则以下符合C语言语法的表达式是() A.x=x*3=2 B. x=(y==1) C. i=float(x) D. i%(-3) 31、若有定义:int x;则语句x=(2*3)+6%5;运行后,x的值是()A. 8B. 7C. 6D. 532、下面关于C语言变量的叙述中,错误的是()A. 可以用const关键字定义变量B. 在C程序中,SUM和sum是不同的变量C.变量名必须由字母或下划线组成 D. 变量的类型确定了变量的取值范围233、若有定义:int x=5,y=6;则表达式x=(y= =6)的值为() A. 5 B. 1C. 6D. 0 34、下面叙述正确的是()A. 2/3与2.0/3.0等价B. (int)2.0/3与2/3等价C. ++5与6等价D. ?A?与”A”等价 35、下面叙述中,错误的是()A. C语言基本的算术运算符不包含模运算符”%”B. 算术运算符的优先级高于关系运算符C. 自加和自减运算符的结合方向是”自右向左”D. C语言规定在表达式求值时,按其中运算符的优先级先高后低的次序进行 36、下面叙述正确的是()A. 强制类型转换运算的优先级高于算术运算B. 若a和b是整型变量,(a+b)++是合法的 C. ?A?*?B?是不合法的 D. “A”+”B”是合法的 37、若有定义:int i=1,j=5;则表达式(++j)*(i--)的值为() A. 1 B. 0 C. 6 D. 738、设整型变量a为5,使b不为2的表达式是()A. b=(++a)/3B. b=6-(--a)C. b=a%2D. b=a/239、若有定义:int a=1,b=2,c=3;则语句++a||++b&&++c;运行后b的值为() A. 1B. 0C. 2D. 340、若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是() A. 7 B.8 C. 9 D. 1041、若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是() A. 7 B.8 C. 9 D. 1042、若有定义:int i=2,j=5;则表达式(i+1,j+1,(++i+(j--))的值为() A. 8B. 6C. 7D. 543、若已定义:int i=3,k;则语句k=(i--)+(i--);运行后k的值为() A. 4B. 5C. 6D. 744、C语言的运算符按运算对象的个数可以分为() A. 单目运算符一种 B.单目和双目运算符C. 单目、双目和三目运算符D. 单目、双目、三目和四目运算符45、若已定义:float m;拟从键盘输入135.78这一数据给变量m,则应选用的语句是()A. scanf(“%5.2f”,&m); B. scanf(“%3.2f”,&m);C. scanf(“6.2f”,&m);D. scanf(“o”,&m);46、已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是()A. scanf(“%ld”,&a);B. scanf(“%lf”,&a);C. scanf(“%c”,&a);D. scanf(“%u”,&a);47、已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是()A. scanf(“%d”,&a);B. scanf(“%lf”,&a);C. scanf(“%c”,&a);D.scanf(“%u”,&a); 48、putchar()函数的功能是向终端输出()A. 多个字符B. 一个字符C. 一个实型变量值D. 一个整型变量表达式 49、以下程序段运行后的输出结果是() int k=11;printf(“k=%d,k=%o,k=%x\\n”,k,k,k);A. k=11,k=13,k=cB. k=11,k=12,k=133C. k=11,k=13,k=bD. k=11,k=13,k=a50、若有定义:int x=1234,y=123,z=12;则语句printf(“M+=+-”,x,y,z);运行后的输出结果为()A. 123412312B. 12341234123412341231231231212C. 1234+1234+1234D. 1234+123+12 51、已有如下定义和输入语句,int a;char c1,c2;scanf(“%d%c%c”,&a,&c1,&c2);若要求a、c1、c2的值分别为10、A和B,正确的数据输入是() A. 10AB B. 10 A B C. 10A B D. 10 AB 52、以下程序段的运行结果是()int a=0,b=0,c=0; if(a&&++b) c++;printf(“%d,%d\\n”,b,c);A. 0,0B. 1,2C. 2,2D. 1,0 53、以下程序的运行结果是()void main() {int a=65; char c=?A?;printf(“%x,%d”,b,c); }A. 65,aB. 41,aC. 65,65D. 41,6554、若已定义:int a=5;float b=63.72;以下语句中能输出正确值的是() A.printf(“%d%d”,a,b); B. printf(“%d/”,a,b); C. printf(“//”,a,b);D. printf(“/%d”,a,b); 55、运行以下程序段时编译出错,其原因是()char c1='8',c2='2021'; printf(\A. c2是字符变量,只能赋以字符常量,不能赋以字符串常量B. 字符串要用“2021“表示,而‘2021’不是字符串表示 C. ‘2021’只能赋值给字符数组 D. 字符变量不能用%d格式输出56、若已定义:int a=3,b=15,c;则语句c=a>b;运行后c的值为() A. 1 B.0 C. t D. f57、在C语言中,判定逻辑值为“真“的最正确的叙述是() A. 1 B. 非0的数 C. 大于0的数 D. 非0的整数 58、若已定义:int a=-36,b=-30,c;则语句c=a59、能正确表示数学关系式800>=y>=500的C语言表达式为() A. (y<=800)&&(y>=500) B. (y<=800)AND(y>=500) C. 800>=y>=500 D. (y<=800)&(y>=500) 60、若有定义:int x=3,y=4;则表达式!x||y的值为()4A. 1B. 0C. 3D. 4感谢您的阅读,祝您生活愉快。

c语言期末考试练习题1(含答案)

c语言期末考试练习题1(含答案)

一、单项选择题(6小题,每小题3分,共18分)1、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是A、externB、registerC、autoD、static2、下面4个选项中,是合法转义字符的选项是( )。

A、'\"B、'\'C、'\018'D、'\\0''\\' '\017' '\f' '\101''\n' '\''' 'xab' 'x1f'3、下面4个选项中,是正确的八进制数或十六进制数的选项是( )。

A、–10B、0abcC、0010D、0a120x8f –017 –0x11 ––011 0xc 0xf1 –0xa4、以下在任何情况下计算平方数时都不会引起二义性的宏定义是( )A、# define POWER(x) □□x * xB、# define POWER(x) □□(x) * (x)C、# define POWER(x) □□(x * x)D、# define POWER(x) □□((x) * (x))5、以下程序段( )x= –1;do{ x=x*x;} while (!x);A、是死循环B、循环执行二次C、循环执行一次D、有语法错误6、下面程序的运行结果是( )# include <stdio.h>int main( ){ int i,j,x=0;for (i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if (j%2) continue;x++;}x++;}printf ("x= %d \n",x);return 0;}A、x=4B、x=8C、x=6D、x=12二、填空题(7小题,每小题3分,共22分)1、下面程序段的运行结果是( )。

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

第3章课后练习及作业习题指导(参考答案)作业01 C语言基础知识一、选择题1.C语言程序的基本单位是()。

A)函数 B)过程 C)子程序 D)子例程2.下列个选项中,合法的C语言关键字是()。

A)integer B)sin C)string D)void3.下列选项中,不是C语言提供的合法关键字的是()。

A)switch B)cher C)default D)case4.以下选项中合法的用户标识符是()。

A)int B)a# C)5mem D)_2435.C语言程序一行写不下时,应该()。

A)用回车换行 B)在任意空格处换行C)用分号换行 D)用逗号换行6.在C程序中,可以作为用户标识符的一组标识符是()。

A)void define WORD B)as_b3 _224 ElseC)switch —wer case D)4b DO SIG7.在C语言中,下列合法的字符常量是()。

A)’\039 B)’\x76’ C)’ab’ D)’\o’8.以下说法正确的是()。

A)C语言程序是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序是从main()函数开始执行的D)C语言程序中的main()函数必须放在程序的开始部分9.()是构成C语言程序的基本单位A)函数 B)变量 C)子程序 D)语句10.一个C语言程序总是从()开始执行的A)主过程B)主函数 C)子程序 D)主程序11.以下叙述不正确的是()A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main()函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面12.C语言规定:在一个源程序中,main()函数的位置()A)必须在最开始 B)必须在系统调用的库函数的后面C)可以任意 D)必须在最后13.以下叙述正确的是()A)在C程序中,main()函数必须位于程序的最前面B)C程序中的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误14.C语言中标识符只能由字母、数字和下划线3种字符组成,且第一个字符()A)必须为字母 B)必须为下划线C)必须为字母或下划线 D)可以是字母、数字和下划线中任意一种字符二、填空题1.一个C语言编写的程序是从main函数开始执行的。

(完整版)C语言单项选择题(带答案)

(完整版)C语言单项选择题(带答案)

计算机程序设计基础(C语言)单项选择练习题一、基本概念1. C语言程序是由构成的。

A)一些可执行语言 B)main函数C)函数 D)包含文件中的第一个函数2. 是构成C语言程序的基本单位。

A)函数 B)过程 C)子程序 D)子例程3.C语言可执行程序从开始执行。

A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数4.C语言程序从main()函数开始执行,所以这个函数要写在____。

A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置5. 以下说法中正确的是。

A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main( )函数中定义C)C语言程序总是从main( )函数开始执行D)C语言程序中的main( )函数必须放在程序的开始部分6. 下列方法中错误的是。

A)主函数可以分为两个部分:主函数说明部分和主函数体。

B)主函数可以调用任何非主函数的其它函数。

C)任何非主函数可以调用其它任何非主函数。

D)程序可以从任何非主函数开始执行。

7.下列关于C语言的说法错误的是。

A) C程序的工作过程是编辑、编译、连接、运行B) 标识符的命名由英文字母、数字和下划线组成,与字母的大小写无关C) C程序的三种基本结构是顺序、选择、循环D) 一个C程序总是从main函数开始执行的8. 系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才能运行。A) 编辑、编译 B )编辑、连接 C) 编译、连接 D) 编辑、改错9.下列说法中正确的是。

A)由于C源程序是高级语言程序,因此一定要在TC软件中输入。

B)由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入。

C)由于C程序是高级语言程序,因此输入后即可执行。

D)由于C程序是高级语言程序,因此它是由命令组成的。

c语言程序基础练习题500道(附答案)

c语言程序基础练习题500道(附答案)

1.下列四组选项中,均不是C语言关健字的选项是( A )。

A) define B) gect C) include D) whileIF char scanf gotype printf case pow2.下面四个选项中,均是合法整型常量的选项是( A )。

A)160 B)-0xcdf C) -01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x3.下面四个选项中,均是不合法的转义符的选项是( B )。

A) '\"' B) '\1011' C) '\011' D) '\abc''\\' '\' '\f' '\101''xf' '\A' '\}' 'x1f'4.下面不正确的字符串常量是( A )。

A)'abc' B)"12'12" C)"0" D)" "5.以下选项中不合法的用户标识符是( A )。

A)abc.c B)file C)Main D)PRINT6.C语言提供的合法关键字是( D )。

A) swithB) cherC) CaseD)default7.下列标识符组中,合法的用户标识符为 AA)_0123与ssipedB)del-word与signedC)list与*jerD) keep%与wind8.在C语言中,逻辑值"真"的表示是用( C )。

A) true B) 整型值0 C)非另整型值D) T9若有以下定义char s='\092';则该语句( b )A)使s的值包含一个字符B)定义不合法,s的值不确定C)使s的值包含4个字符D)使s的值包含3个字符10设C语言中,int类型数据占2个字节,则float类型数据占(D )个字节。

c语言的一些作业题

c语言的一些作业题

红色代表改的正确答案绿色黄色自己做的1、下列程序的输出结果是:main( ){}A、5B、1C、0D、不确定值2、设int a=12,则执行完语句a+=a-=a*a后,a的值是: A、552B、264C、144D、-264int a=7,b=5; printf("%d ",b=b/a);结果03、当调用函数时,实参是一个数组名,则向函数传送的是: A、数组的长度B、数组的首地址C、数组每以个元素的地址D、数组每个元素的值4、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b 的是:A、c=b=a;B、(a=c)||(b=c);C、(a=c)&&(b=c);D、a=c=b;5.能正确表示a 和b 同时为正或同时为负的逻辑表达式是: A、(a>=0||b>=0)&&(a<0||b<0) B、(a>=0&&b>=0)&&(a<0&&b<0) C、(a+b>0)&&(a+b<=0)D、a*b>06在一个C程序中: A、main函数必须出现在所有函数之前; B、main函数可以在任何地方出现; C、main函数必须出现在所有函数之后; D、main函数必须出现在固定位置7以下说法中正确的是: A、C语言程序中是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语程序中的main()函数必须放一在程序的开始部分8、C语言中,调用个函数时,实参变量和形参变量之间的数据传递是: A、单纯值传递B、单纯地址传递C、值传递和地址传递都有可能D、由实参传给形参,然后由形参传回给实参,即是双向传递9、以下程序的输出结果是: #include main(){int a=2,c=5;printf("a=%%d,b=%%d ",a,c); }%%代表输出%A、a=%2,b=%5B、a=2,b=5C、a=%%d,b=%%dD、a=%d,b=%d10.按照c语言规定的用户标识符命名规则,不能出现在标识符中的是: A、大写字母B.连接符C、数字字符D、下划线11.以下定义语句中正确的是: A、char a='A' b='B';B、floata=b=10.0;C、int a=10,*b=&a;B答案没有定义变量bD、float *a,b=&a;12、有以下程序: main(){int y=10; while(y--) ; printf(“y=%d ”,y);}程序执后的输出结果是: A、y=0B、y=-1C、y=1D、while构成无限循环先使用在减小1等于0停止打印时候已经减一13、程序char c[5]={…a‟,‟b‟,‟\0‟,‟c‟,‟\0‟}; printf(“%s”,c); 的运结果是:A、'a''b'B、abcC、ab cD、ab14、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是: A、INPUT x、y、z;B、scanf("%d%d%d",&x,&y,&z);C、scanf("%d%d%d",x,y,z);D、read("%d%d%d",&x,&y,&z);15、下列变量声明正确的是: A、int a = 0 , b = 5; B、float i = j = 3.0; C、char a ='A' b ='B' D、int a = 3 , b = &a;16.以下不正确的if语句形式是: A、if(x>y&&x!=y)t=x++;B、if(x==y) x+=y;C、if(x!=y) scanf("%d",&x) else scanf("%d",&y);D、if(x<0)x++;17、设有定义:int k=0;以下选项的四个表达式中与其他三个表达式的值不相同的是: A、k++B、k+=1C、++kD、k+118、以下结构体类型的变量所占字节数是: struct student{ shortnum; char name[15]; float score; char sex;};A、22B、24C、26D、2819、C语言源程序的基本单位是: A、过程B、函数C、程序D、标识符20若有以下定义和语句: int u=010,v=0x10,w=10;printf("%d,%d,%d ",u,v,w); 则输出结果是:A、8,16,10B、10,10,10C、8,8,10D、8,10,1021、若要求定义具有10个int形元素的一维数组array,则以下的定义语句错误的是: A、#define N 10int a[N]; B、#define n 5int a[2 * n];C、int a[5 + 5];D、int n = 10,a[n] = {0};22、以下程序执行后sum的值是: main(){inti,sum; for(i=1;i<6;i++) sum+=i; printf("%d ",sum);}A、15B、14C、不确定D、0 sum没有赋初值23、设变量定义为int x , *p = &x;则&(*p)相当于: A、*(&x)B、*pC、pD、x24、设已有定义:float x; 则以下对指针变量p进行定义且赋初值的语句中正确的是: A、float *p=1024;B、int *p=(float)x;C、float p=&x;D、float *p=&x;25、以下程序的输出结果为:inti; void prt( ){for(i=5;i<8;i++) printf("%c",'*');printf(" "); } 这个只执行了一次因为内部加到8,在i+1结束main( ) {for(i=5;i<=8;i++) prt( ); }A、***B、*** *** *** ***C、*** ***D、* * *26、定义由n个指向整形数据的指针组成的数组p,其正确的式为:A、int p;B、int (*p)[n];C、int *p[n];D、int (*p)( );27、以下代码的输出结果为: int array[3] = {1,4};for(inti = 0;i < 3;i++){ printf(“%d ”,array[i]); }A、1 4 0B、0 1 4C、1 0 4D、1 4 428、设int x=1, y=1; 表达式(!x||y--)的值是: A、0 B.1C、2 D、-129.以下程序的输出结果是: main(){int x=10,y=10,i; for(i=0;x>8;y=++i) printf("%d %d ",x--,y);}A、10 1 9 2B、9 8 7 6C、10 9 9 0D、10 10 9 1自加是最后进行所以y先打印在进行加减30、若执行下面程序时:int x;scanf("%d",&x);if(x++ > 5){ printf( "%d ",x)}; else{ printf("%d ",++x)};从键盘上输5,则输出是:A、7B、6C、5D、431、下面程序的输出是: fun3(int x){staticint a=3; a+=x; return(a);} main() {int k=2, m=1, n; n=fun3(k); n=fun3(m); printf("%d ",n);}A、3B、4C、6D、932、有定义语句:intb;char c[10];,则正确的输入语句是: A、scanf("%d%s",&b,&c);B、scanf("%d%s",&b,c);C、scanf("%d%s",b,c);D、scanf("%d%s",b,&c);33、函数调用:strcat(strcpy(str1,str2),str3)的功能是: A、将串str1复制到串str2中后再连接到串str3之后B、将串str1连接到串str2之后再复制到串str3之后C、将串str2复制到串str1中后再将串str3连接到串str1之后D、将串str2连接到串str1之后再将串str1复制到串str3中34、若程序中定义了以下函数double myadd(double a,doubleb){ return (a+b); } 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是:A、double myadd(double a,b);B、double myadd(double,double);C、double myadd(double b,double a);D、double myadd(doublex,double y);35、有以下程序main(){char s[]="abcde"; s+=2;printf("%d ",s[0]);}执行后的结果是: s+=2这是错误的不能更改数组首地址A、输出字符a的ASCII码B、输出字符c的ASCII码C、输出字符cD、程序出错36、现有一个函数的功能是求出一个元素在数组中的索引,以下该函数的声明正确的是: A、intgetIndex(int *a,intcount,int n);B、void getIndex(int a[],intcount,int n);C、intgetIndex(int a[],int count);D、void getIndex(int *a,int count);37、以下程序的输出结果为: main( ){char s1[40]="country",s2[20]="side";inti=0,j=0;while(s1[i]!='') i++;while(s2[j]!='')s1[i++]=s2[j++]; s1[i]=0;printf("%s ",s1); }A、sideB、countryC、sidetryD、countryside38、有以下程序main(){charch[]="uvwxyz",*pc; pc=ch;printf(" %c ",*(pc+5));}程序运行后的输出结果是: A、zB、0C、元素ch[5]的地址D、字符y的地址39、利用宏,求三个数中的最大值,以下宏定义正确的是: A、#define MAX(a,b,c) ((a)>(b)?(a):(b))>c?((a)>(b)?(a):(b)):(c) B、#define MAX(a,b,c) (a>b?a:b)>c?(a>b?a:b):c C、#defineMAX(a,b,c) (a)>(b)?(a):(b)>c?((a)>(b)?(a):(b)):(c) D、#define MAX(a,b,c) a>b?a:b>c?(a>b?a:b):c40、设有如下定义:structjan{inta;float b;}c2,*p;若有p=&c2;则对c2中的成员a的正确引是: A、(*p).c2.aB、(*p).aC、p->c2.aD、p.c2.a※判断题(共10题,每题2分)1、条件运算符?和:是一对运算符,不能分开单独使用。

c语言 100题

c语言 100题

c语言100题1. 构成C语言程序的基本单位是()。

A.函数B.变量C.子程序D.语句是不正确的转义字符。

2. C语言规定:在一个源程序中,main()函数的位置()。

A.必须在最开始B.必须在系统调用的库函数后面C.可以任意D.必须在最后3. 下列哪个选项能够正确地声明一个指向整型变量的指针?A) int *ptr;B) int ptr;C) int ptr;D) int ptr;4.C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符()。

A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字和下划线中的任意一种5. C语言中的简单数据类型有()。

A.整型、实型、逻辑型B.整型、字符型、逻辑型C.整型、实型、字符型D.整型、实型、字符型、逻辑型6. 以下选项中,不正确的整型常量是()。

A.-37B.32,758C.326D.67.以下选项中,不正确的实型常量是()。

A.123B.1e4C.3.640E-1D.0.358.以下选项中,合法的C语言赋值语句是()。

A.a=b=34B.a=34,b=34C.-i;D.m=(int)(x+y);9.设int类型的数据长度为两个字节,则unsigned int类型数据的取值范围是()。

A.0~255B.0~65535C.-32768~32767D.-256~25510.在C语言中,下列哪个函数用于将整数转换为字符串?A) itoa()B) atoi()C) to_string()D) intstr()11.以下叙述中,不正确的是()。

A.在C程序中,%是只能用于整数运算的运算符B.在C程序中,无论是整数还是实数,都能准确无误地表示C.若a是实型变量,C程序中a=20是正确的,因此实型变量允许被整型数赋值D.前缀和后缀运算符,作为表达式来说有不同的作用12.设a、b、c、d、m、n均为int型变量,且a=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式(m=a>b)&(n=c>d)运算后,n的值为()。

C语言各章作业及练习题

C语言各章作业及练习题

第二章作业题答案1 进制转换(1)7A.3D (或者7A.3DH)(2)01001011.01010111,4B.57 (二进制最前面的“0”可以省去;十六进制也可4B.57H)2 码制转换(1)原码:01010; 真值:+0.1010(2)原码:10110; 真值:-0.01103 设某机器字长为8位:(1)-1(2)-2-7(还可以进一步计算为:-0.0078125)4.浮点数转换为二进制:(A27F)16= (1010001001111111)2阶码补码为:E补=101000,则阶码真值E = -11000 = -24;尾数补码:M补= 1.001111111,尾数真值M = - 0.110000001;则(A27F)16的十进制真值为:- (2-1+2-2+2-9) x 2-24 = -(2-25+2-26+2-33)上面的结果还可以进一步化简写成分数或小数,只写到这一步也可以。

5将十进制数-7.25转换为IEEE754短浮点格式:(1)转换为二进制:(-7.25)10=(-111.01)2(2)规格化:(-111.01)2 = (-1.1101)2 x22(3)计算阶码(移码表示):E移= 127+2 = (129)10 = (10000001) 2(4)短浮点格式:(11000000111010000000000000000000)2 = (C0E80000)166.(1) 1000H,1006H(2) 1002H,2374H(3) E529H7 设当前堆栈状态如图3所示,按字编址,下列各小题分别执行,写出结果:(1)(SP) = 1003H, (R0) = 32H(2)(SP) = 1001H,(R0)=1000H,存储单元1000H~1002H的值分别是30H、1000H、32H。

第六章作业题一、选择题1.某字符显示器,分辨率为25x80,则第2行第5列(序号均从0开始)字符的代码,应存放在基本显示缓存的第()单元中(从0号单元开始)。

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。

()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。

()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。

()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。

答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。

答案:911. 在C语言中,用于动态分配内存的函数是______。

答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。

答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。

答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。

答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。

C语言题库(带详解答案)

C语言题库(带详解答案)

一单项选择题1.(A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从 C开始执行。

A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数3、以下说法中正确的是(C)。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)。

A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。

C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5.下列正确的标识符是(C)。

A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是( B)。

A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。

A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。

A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while 为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。

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

1005货币兑换Description给出人民币对美元、欧元、日元的当日汇率,求给定金额的人民币能兑换成外币的金额,求给定金额的外币能兑换成人民币的金额。

要计算的外币有三种:美元、欧元、日元。

Input输入有三行。

第一行依次为美元、欧元、日元外币汇率,用空格分开。

汇率用100外币为单位,精确到小数点后4位,如668.5200表示“100美元=668.5200人民币”。

汇率浮动范围为(0,10000)。

第二行为外币金额x,第三行为人民币金额y。

x,y均为整数,且0<x,y<10000。

Output输出为两行。

第一行是金额为x的美元、欧元、日元兑换成人民币的金额,用空格分开。

第二行是金额为y的人民币兑换成美元、欧元、日元的金额,用空格分开。

所有金额精确到小数点后两位。

Sample Input668.5200 908.0685 7.9852 1500 1500Sample Output10027.80 13621.03 119.78 224.38 165.19 18784.75HINT了解浮点数据类型的精确度和输出控制。

#include <stdio.h>int main(){double a,b,c;double x;double y;scanf ("%lf%lf%lf",&a,&b,&c);scanf ("%lf",&x);scanf ("%lf",&y);printf ("%.2lf %.2lf %.2lf\n",x*0.01*a,x*0.01*b,x*0.01*c);printf ("%.2lf %.2lf %.2lf\n",y/a*100,y/b*100,y/c*100);return 0;}1006求字符的值Description从键盘输入3个字符(不含双字节字符),分别输出每个字符的十进制值(ASCII码)、八进制值和十六进制值。

Input输入为3个字符。

Output输出为3行。

每一行为每个字符(对应输入顺序)的十进制、八进制和十六进制值,用空格分隔开。

每个输出的值占3个字符,不足3个字符前面补0。

Sample Input0 ASample Output048 060 030032 040 020065 101 041HINT了解字符值的存储和整型的关系。

#include <stdio.h>int main(){char a,b,c;scanf ("%c%c%c",&a,&b,&c);printf("%.3d %.3o %.3x\n",a,a,a);printf("%.3d %.3o %.3x\n",b,b,b);printf("%.3d %.3o %.3x\n",c,c,c);return 0;}1007奇数还是偶数?Description输入一个整数,判读它是奇数还是偶数。

Input输入只有一行,为一个100以内的正整数。

Output输出为一行。

若输入为偶数则输出“even”,奇数输出“odd”。

Sample Input30Sample OutputevenHINT用整数运算可以解决,练习“?:”表达式。

法1:#include <stdio.h>int main(){int a;(0<a)&&(a<100);scanf ("%d",&a);if(a%2==0)printf ("even\n");elseprintf ("odd\n");return 0;}法2:#include <stdio.h>#include <stdlib.h>int main(){int a;scanf("%d",&a);if(a<100&&a>0)return a%2==0?printf("even\n"):printf("odd\n"); }1008绝对值Description求整型数据和浮点型数据的绝对值。

Input输入两个数,第一个是整数,第二个是浮点数。

Output输出为两行,第一行为整数的绝对值,第二行为浮点数的绝对值,注意浮点数的绝对值不输出无意义的0。

Sample Input-1 1Sample Output1 1HINT求绝对值可以用标准库函数来完成,也可以自己判断。

注意浮点数的输出格式。

求绝对值的函数在哪个头文件?貌似很多人会搞错,包括很多编书的人!#include <stdio.h>#include <math.h>#include <stdlib.h>int main(){int a,b;double c,d;scanf("%d",&a);b=abs(a);scanf("%lf",&c);d=fabs(c);printf("%d\n",b);printf("%g\n",d); //%g 按%f,%e,两者中较短的输出,不输出无意义的0 return 0;}//fabs---math.h//abs---stdlib.h1009简单的打折计算Description商店规定:消费满n元,可以打八八折。

设某件商品标价m元,输入购买的件数x,计算出需要支付的金额(单位:元),精确到分。

Input输入只有一行,三个整数m、n和x,且0<x<m<n<1000。

Output输出金额,精确到分。

Sample Input95 300 4Sample Output334.40HINT了解浮点型的输出控制,注意整型和浮点型混合运算过程中的数据类型转换。

法1:#include <stdio.h>#include <stdlib.h>int main(){int m,n,x;(0<x)&&(x<m)&&(m<n)&&(n<1000);float s;scanf("%d %d %d",&m,&n,&x);if(m*x>=n)s=m*x*0.88;s=m*x;printf ("%.2f",s);return 0;}法2:#include <stdio.h>#include <stdlib.h>int main(){int m,n,x;float s;scanf("%d %d %d",&m,&n,&x);while((0<x)&&(x<m)&&(m<n)&&(n<1000)){if(m*x>=n)s=m*x*0.88;elses=m*x;printf ("%.2f",s);break;}return 0;}法3:#include <stdio.h>#include <stdlib.h>int main(){int x;float m,n,z;scanf("%f%f%d",&m,&n,&x);while((0<x)&&(x<m)&&(m<n)&&(n<1000)){z=m*x;if(z<=n)printf("%.2f",z);elseif(z>n)z=0.88*z;printf("%.2f",z);break; //breeak 可换为return 0;代表结束}1010判断闰年Description输入一个正整数的年份,判断是否为闰年。

Input输入只有一行,为一个10000以内的正整数。

Output输出为一行。

若输入为闰年则输出“Yes”,否则输出“No”。

Sample Input2010Sample OutputNoHINT了解逻辑运算符和关系运算符。

闰年的定义:能被4整除,但不能被100整除;或能被400整除#include <stdio.h>#include <stdlib.h>int main(){int x;scanf("%d",&x);(0<x&&x<10000);if(x%4==0&&x%100!=0)printf("Yes\n");else if (x%400==0)printf("Yes\n");elseprintf("No\n");}return 0;}法2:#include <stdio.h>#include <stdlib.h>int main (){ int y;scanf("%u",&y);while(y>0&&y<10000){if(((y%4==0)&&(y%100!=0))||(y%400==0))printf("yes");elseprintf("no");return 0;}}1011GHacker的解谜过关游戏DescriptionGHacker最近痴迷于一个新上市的解谜游戏,其中一关的过关是破解一个字符串S。

经过3天的冥思苦想,GHacker成功的搞明白了这其中的奥秘,把串S中的整数取出来求和,就可以过关了。

但是GHacker的数学实在糟糕。

他无法在短暂的时间内算出来,只好求助Jackie。

Jackie观察到虽然每次出现的数字不同,但是其它的符号并不会变化。

于是Jackie编写了一个非常短的程序,帮助GHacker把这一关过了。

Input输入为串S,只有一行。

Output串S中用非数字(0~9)分隔开的非负整数之和,不会超出int类型的数据范围。

Sample Input`13?:[7514],54.487=="(438922x159??392)%032\n111cdef120$95; Sample Output447899HINTscanf()可以解决这个问题,注意转义字符和格式控制字符。

相关文档
最新文档