C语言综合练习2
C语言综合练习题
《C语言程序设计》综合练习题一、单项选择题1.下列( D )是字符串比较函数。
A. puts()B.gets()C. strcpy ()D. strcmp()2.构成一个完整的C源程序必须有且只有一个( C )。
A. 函数B.过程C. 主函数D. 程序3. 设有int i,j,k;则表达式i=1,j=2,k=3,i&&j&&k的值为( A )。
A. 1B. 2C. 63D. 04.在C语言中,不同类型数据混合运算时,要先转化成同一类型后进行运算。
设一表达式中包含有int、long、unsigned、char类型的变量和数据,则表达式最后的运算结果是(D)类型数据。
A.int B.char C.unsigned D.long 5.下列(D)不是构成标识符的字符。
A.字母B.数字C.下划线D.标点符号6.表达式:3>5&&-1||6<3-!-1的值是( A )。
A. 0B.1C. 表达是不合法D. 均不对7. 以下标识符中能做为合法的C用户标识符的是(D)。
A.A3+B3B. floatC. 3dxD. x3d8. 以下数据中不正确的数值或字符常量是(B)。
A. 0.0B. 3E2.7C. 9861D. 0xabcd9. fp=fopen(''test.txt",''r''); 语句中,r对文件处理方式是(A)。
A. 只读打开文件B. 只写打开文件C. 追加打开文件D. 读写打开文件10.表示关系x<=y<=z的C语言表达式为(A)A. (x<=y)&&(y<=z)B. (x<=y)and(y<=z)C. (x<=y)&(y<=z)D. (x<=y<=z)11.如果要把常量327存入变量a中,a不能定义的类型是(B)。
国家开放大学C语言程序设计章节测试参考答案
国家开放大学《C语言程序设计》章节测试参考答案第一章C语言概述自测练习一:C语言字符集自测练习1.在C语言字符集中,包含有全部26个英文大写字母和对应的小写字母。
(√)2.在C语言字符集中,一个大写英文字母和它的小写英文字母被视为不同的字符。
(√)3.在C语言程序中,ABC和abc被作为同一标识符使用。
(×)自测练习二:C语言字符集自测练习1.在C语言中,保留字是有专门含义和作用的,不能作为一般标识符使用。
(√)2.在C语言中,作为标识符的第一个字符只能是英文字母或下划线,不能是数字字符。
(√)3.C语言中使用的字符常量,其起止标记符是()。
a. 双引号b. 尖括号c. 单引号d. 中括号4.C语言中使用的字符串常量,其起止标记符是()。
a. 双引号b. 中括号c. 尖括号d. 单引号自测练习三:C语句分类自测练习1.在C语言中,一条简单语句的结束符是()。
a. 分号b. 空格c. 冒号d. 逗号2.在C语言中,每条复合语句的开始标记字符为()。
a. <b. [c. (d. {3.不符合C语言规定的复合语句是()。
a. {x=0;}b. {}c. {;}d. {y=10}4.C语言中的选择类语句有两条,它们是()。
a. else和caseb. if和switchc. if和elsed. switch和case自测练习四:函数分类与使用自测练习1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。
a. nameb. mainc. MAINd. function2.C语言程序中的基本功能模块为()。
a. 标识符b. 函数c. 表达式d. 语句3.一个函数定义所包含的两个部分是()。
a. 函数头和函数体b. 函数原型和函数体c. 函数名和参数表d. 函数头和函数尾4.一个程序文件开始使用的每条预处理命令,其首字符必须是()。
a. #b. @c. %d. $5.在一个程序文件中,若要使用#include命令包含一个系统头文件,则此头文件所使用的起止定界符为一对()。
综合练习 答(2013)
《C语言》综合练习答一、选择题1.转换说明符%o的输出形式是()A)十进制数 B)八进制数 C)十六制数 D)二进制数答案B)2.请选择您认为不正确的说法[ ]。
A)程序中的注释部分可有可无,通常可以省略。
B)在C程序中,ABC和abc是两个不同的变量。
C)在C语言中,函数中的变量可以赋初值,每调用一次该函数,就赋一次初值。
D)C语言中不能对数组名进行加减和赋值运算。
答案: C)3.若有以下说明和语句,则输出结果是( )。
char str[]="\"\\abc.dat\"";printf("%s",str);A)字符串中有非法字符B)\"\\abc.dat\" C)"c:\\abc.dat" D)"\abc.dat"答案: D)4.下面( )是合法的用户定义的标识符。
A)name! B)3x.y C)*par D)wind答案:D)5.以下合法的C语言赋值语句是【】。
A)a=b=58 B)a=58,b=58 C)k=int(a+b); D)++i;答:D)6.设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=4)后,x的值为【】。
A)4 B)16 C)32 D)52答:A)7.若a为double型,b为int型,且a和b均为常量,执行语句(char)a/b后;a和b的类型为【】。
A)a为double型,b为int型。
B)a和b均为int型。
C)a为float型,b为int型。
D)a和b均为double型。
答:A)8.设有如下的变量定义:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是【】。
A)a+=a-=(b=4)*(a=3) B)x%(-3);C)a=a*3=2 D)y=float(i)答:A)9.假定有变量定义:int k=7,x=12;则能使值为3的表达式是【】。
C语言程序设计期末练习(填空题)
面向对象程序设计期末综合练习二〔填空题〕填空题1. C++语言是在_________语言的根底上开展起来的。
2. C++语言的编译单位是扩展名为__________的__________文件。
3. 行尾使用注释的开场标记符为__________。
4. 多行注释的开场标记符和完毕标记符分别为__________和__________。
5. 用于输出表达式值的标准输出流对象是_________。
6. 用于从键盘上为变量输入值的标准输入流对象是________。
7. 一个完整程序中必须有一个名为________的函数。
8. 一个函数的函数体就是一条_________语句。
9. 当执行cin语句时,从键盘上输入每个数据后必须接着输入一个________符,然后才能继续输入下一个数据。
10. 在C++程序中包含一个头文件或程序文件的预编译命令为__________。
11. 程序中的预处理命令是指以______字符开头的命令。
12. 一条表达式语句必须以______作为完毕符。
13. 在#include命令中所包含的头文件,可以是系统定义的头文件,也可以是________定义的头文件。
14. 使用#include命令可以包含一个头文件,也可以包含一个______文件。
15.一个函数定义由________和________两局部组成。
16.假设一个函数的定义处于调用它的函数之前,则在程序开场可以省去该函数的______语句。
17.C++头文件和源程序文件的扩展名分别为______和______。
18.程序文件的编译错误分为________和________两类。
19.当使用_______保存字作为函数类型时,该函数不返回任何值。
20.当函数参数表用______保存字表示时,则表示该参数表为空。
21.从一条函数原型语句“int fun1(void);〞可知,该函数的返回类型为______,该函数带有______个参数。
c语言复习综合练习题
一选择题(24分,每小题2分)1.C程序的执行是从一个A.本程序的main函数开始的,到main函数结束B.本程序文件的第一个函数开始,到本文件最后一个函数结束C.本程序main函数开始,到本程序最后一个函数结束D.本程序第一个函数开始,到本程序main函数结束2.以下程序的输出结果为()。
main( ){ int i=010,j=10;printf("%d,%d\n",i++,j--);}A 11,9B 9,10C 8,10D 9,93.设a为int型变量,执行下列赋值语句后,a的取值分别是()。
a=125.534;a=20.0/3;a=(int)125.521%4;a=5<<2;A 125,6,31,1B 125,6,1,20C 125,6.666666,31,20D 125.534,6.666666,2,204.设i和k都是int类型,则for循环语句()。
for(i=0,k=-1;k=1;i++,k++) printf("****\n");A 循环结束的条件不合法B 循环体一次也不执行C 循环体只执行一次D 是无限循环5.C语言规定:在一个源程序中,main函数的位置A.必须在最开始B.必须在系统调用的库函数后面C.可以任意D.必须在最后6.函数调用语句:fseek(fp,-10L,2);的含义是()。
A 将文件位置指针从文件末尾处向文件头的方向移动10个字节B 将文件位置指针从当前位置向文件头的方向移动10个字节C 将文件位置指针从当前位置向文件末尾方向移动10个字节D 将文件位置指针移到距离文件头10个字节处7.以下程序的输出结果为()。
main( ){ char s1[40]="country",s2[20]="side";int i=0,j=0;while(s1[i]!='\0') i++;while(s2[j]!='\0') s1[i++]=s2[j++];s1[i]=0;printf("%s\n",s1);}A sideB countryC sidetryD countryside8.下列说法不正确的是()。
C语言课程习题
C语言综合练习题(一)一选择题(7分,每小题0.5分)1.设a为整型变量,初值为12,执行完语句 a+=a-=a*a后,a的值是()。
A 552B 144C 264D -2642.下列标识符中,不能作为合法的C用户定义标识符的是()。
A a3_b3B voidC _123D IF3.下列整数值中,不正确的八进制或十六进制数值常量是()。
A 0xcdB -017C -ox123D 0xfdc4.若给定条件表达式(M)?(a++):(a--),则其中表达式M和()等价。
A M==0B M=1C M!=1D M!=05.在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式为()。
A 只能是逻辑表达式 B只能是关系表达式C 只能是逻辑表达式或关系表达式 D可以是任意表达式6.以下程序的输出结果为()。
main( ){ char c;int i;for(i=65;i<68;i++){ c=i+32;switch(c){ case ‘a’:printf("%c,",c);break;case ‘b’:case ‘e’:printf("ok,");default: printf("end");}} }A a,ok,endB a,ok,endendC a,ok,end,endD a,ok,ok7.数组名作为实参数传递给函数时,数组名被处理为()。
A 该数组的长度B 该数组的元素个数C 该数组的首地址D 该数组中各元素的值8.关于return语句,下列正确的说法是()。
A 可以在同一函数中出现多次B 在主函数中不能出现C 必须在每个函数中出现D 只能在除主函数之外的函数中出现一次9.以下程序的输出结果为()。
#define A 3#define B(a) (A+1)*amain(){ int x;x=3*A+B(7);printf("x=%d\n",x);}A x=93B x=37C x=60D x=9010.设有以下定义,则以下对变量w的赋值()是错误的。
C语言综合练习(最终版).
C语言单元练习题第一单元数据类型、表达式及顺序结构练习题一、选择题:1、不合法的C语言整型常量是。
A. –012B. 0x35C. 123LD. 8E22、不合法的C语言实型常量是。
A. E3B. .123C. –6.2E4D. 5.03、不合法的C字符常量是。
A. ´2´B. ´\101´C. ´AB´D. ´\n´4、下列四组选项中,均是不合法的用户标识符的选项是。
A. W P_0 doB. b-a goto intC. float la0 _AD. -123 abc TEMP5、定义三个变量a、b、c,并分别赋初值为5。
能实现该功能的语句是。
A. int a=b=c=5;B. int a,b,c=5;C. int a=5,b=5,c=5;D. int a=5;b=5;c=5;6、设有说明:char w;int x; float y;double z;则表达式w*x+z-y值的数据类型为。
A. floatB. charC. intD. double7、以下选项中不能用作C程序合法常量的是()。
A. 1.234B. '123'C.123D."\x7G"8、以下选项中可用作C程序合法实数的是()A. .1e0B.3.0e0.2C.E9D.9.12E9、下列标识符中,不合法的用户标识符为()。
A. PadB. CHARC. a_10D. a≠b10、以下选项中能表示合法常量的是()。
A.整数:1,200B.实数:1.5E2.0C.字符斜杠:‘\’D.字符串:"\007"11、以下选项中,能用作数据常量的是()。
A.o115B. 0118C.1.5e1.5D. 115L12、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是()。
A.1B.0C.2D.313、若有定义语句:int x=10;,则表达式x-=x+x的值为()A.-20B.-10C.0D.1014、表达式:(int)((double)9/2)-(9)%2的值是()。
C语言综合练习题
习题一一、选择题1. C程序从( D )开始执行。
(A) 程序中的第一条语句(B) 程序中的第一条可执行语句(C) 程序中的第一个函数(D) 程序中的main函数2. 下列各项中,不是C语言的特点是( )。
(A) 语言简洁、紧凑,使用方便(B) 数据类型丰富,可移植性好(C) 能实现汇编语言的大部分功能(D) 有较强的网络操作功能3. 下列叙述错误的是( B )。
(A) C程序中的每条语句都用一个分号作为结束符(B) C程序中的每条命令都用一个分号作为结束符(C) C程序中的变量必须先定义,后使用(D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写4. 算法中对需要执行的每一步操作,必须给出清楚、严格的规定,这属于算法的( B )。
(A) 正当性 (B) 确定性 (C) 可行性 (D) 确定性习题二一、选择题1. 整型变量的类型说明符是( B )。
(A) short (B) int (C) long (D) float2. 单精度型变量的类型说明符是( C )。
(A) int (B) long (C) float (D) double3. 下列叙述正确的是( D )。
(A) 标识符由字母、数字或下划线组成,必须以字母或下划线开头(B) 标识符由字母、数字或下划线组成,必须以字母或数字开头(C) 标识符由字母、数字或下划线组成,必须以字母或下划线开头,可以含有空格(D) 标识符由字母、数字或下划线组成,必须以字母或下划线开头,并且不含空格4. 下列式子中,是字符型常量的是( A )。
(A) 'a' (B) "a" (C) 'ab' (D) "ab"5. 下列式子中,可以作为C语言标识符的是( C )。
(A) array-1 (B) 234abc (C) array_1 (D) if6. 下列语句正确的是( B )。
C语言程序设计综合练习题
C语言程序设计综合练习题1、C语言程序的基本单位是____ A) 程序行 B) 语句 C) 函数 D) 字符、C、12、C语言程序的三种基本结构是____ A、顺序结构,选择结构,循环结构 B、递归结构,循环结构,转移结构 C、嵌套结构,递归结构,顺序结构 D、循环结构,转移结构,顺序结构、A、13、C语言规定,程序中各函数之间 A) 既允许直接递归调用也允许间接递归调用 B) 不允许直接递归调用也不允许间接递归调用 C) 允许直接递归调用不允许间接递归调用 D) 不允许直接递归调用允许间接递归调用、A、14、C语言中可处理的文件类型是( ) A) 文本文件和数据文件 B)文本文件和二进制文件 C) 数据文件和二进制文件 D)数据代码文件、B、15、C语言可执行程序的开始执行点是( ) A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数、C、16、C语言提供的合法的数据类型关键字是 A)double B) short C) integer D) char、B、17、C语言中,运算对象必须是整型数的运算符是 A) % B) \ C) %和\ D) * *、A、18、C语言中函数返回值的类型是由( )决定。
A) return语句中的表达式类型 B) 调用函数的主调函数类型 C) 调用函数时临时 D) 定义函数时所指定的函数类型、D、19、C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为_____。
A、该数组的长度。
B、该数组的元素个数。
C、该数组中各元素的值。
D、该数组的首地址。
、D、110、C语言中数组下标的下限是________。
A、1 B、0 C、视具体情况 D、无固定下限、B、111、C语言中提供的合法关键字是____ A、swith B、cher C、case D、default、D、112、C语言中文件的存取方式是________。
C语言程序设计项目化教程(周雅静第3版) 训练及综合练习答案 项目2 训练及作业参考答案
项目2输入学生成绩转化为等级任务1输入学生成绩,判断其合法性★实践训练☆初级训练1 .若a=b=c=O,则++a&&++b&&++c后,a,b,c的值为多少(a=1,b=1,c=1)?分析:因为先执行++,再执行逻辑运算符,所以a=1,b=1,c=1.2 .若a=b=c=O,则a++&&++b&&++c后,a,b,c的值为多少(a=1,b=0,C=O)?分析:因为是a++,所以要先执行逻辑运算,而此时a=0,即为假,然后再执行a=a+1;同时由于对“&&”来说,左则为假,则不执行右侧。
所以,最后的结果是a=1,b=0,c=0o3 .若有整型变量叫必2,瓦(:,€1均为1,执行(m=a›b)&&(n;c>d)后,m,n的值为多少(m,n的值为0,1 )分析:因为a=b=c=d=m=n=1,所以a〉b是假,m=0,而对“&&”运算符来说,左侧为假,则不执行右侧,所以m,n的值为0,1。
4 .若t是整型变量,则执行t=T&&-1;t的值为多少(t的值为1 )?分析:因为C语言中,是以非。
代表“真”,所以T代表“真”,因则t的值为U5 .若a=b=c=1,则++a∣I++b&&++c后,a,b,c的值为多少(a=2,b=1,C=I )?分析:a=1,++a后a=2,是非零,对运符符来说,左侧为其,则不执行右侧,所以最后a=2,b=1,c=1。
6 .若a=b=c=1,则++a&&++b&&++c后,a,b,c的值为多少?分析:对“&&”来说,左侧为真,还是要执行右则,所以最后a=2,b=2,c=2°7 .以下程序的运行结果是(2 )。
8 .请阅读以下程序:该程序的运行结果是()。
9 .试编程:求一个数的绝对值。
C语言综合习题及答案
C语言综合习题及答案C语言练习题一、选择题1. 一个完整的C源程序是【B 】。
A)要由一个主函数或一个以上的非主函数构成B)由一个且仅由一个主函数和零个以上的非主函数构成C)要由一个主函数和一个以上的非主函数构成D)由一个且只有一个主函数或多个非主函数构成2. 以下关于函数的叙述中正确的是【C】。
A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以定义任意一个函数3. 以下关于函数的叙述中不正确的是【B】。
A)C程序是函数的集合,包括标准库函数和用户自定义函数B)在C语言程序中,被调用的函数必须在main 函数中定义C)在C语言程序中,函数的定义不能嵌套D)在C语言程序中,函数的调用可以嵌套4. 在一个C程序中,【B 】。
A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置5.C程序的执行是从【A 】开始的。
A)主函数B)子函数C)从程序第一行D)printf()函数6.以下选项中不合法的标识符是【C 】A)print B)FOR C)&a D)_007.以下选项中可作为C语言合法常量的是【A】A)-80 B)-080 C)-8e1.0 D)-80.0e8.以下选项中不属于字符常量的是【B】A)′C′ B)"C" C)′\xCC′ D) ′\072′9. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【C】A)float B)longC)int D)double10. 以下关于函数叙述中,错误的是【D】。
A)函数未被调用时,系统将不为形参分配内存单元B)实参与形参的个数应相等,且实参与形参的类型必须对应一致C)当形参是变量时,实参可以是常量、变量或表达式D)形参可以是常量、变量或表达式11. C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是【D】。
C语言综合练习(附答案)
C语言综合练习(附答案)一、选择1.在C语言中运算对象必须是整型的运算符是A %B !C /D *2. 有以下程序#includemain(){int x;scanf(“%d”,&x);if(x<=3);else if(x!=10)printf(“%d\n”,x);}程序运行时,输入的值在哪个范围才会有输出结果____________ 。
A)不等于10的整数 B)大于3且不等于10的整数C) 大于3或等于10的整数 D)小于3的整数3. 下列定义数组的语句中,正确的是__________。
A)int N=10;int x[N]; B)#define N 10int x[N];C) int x[0..10]; D) int x[];4. 以下程序运行后的输出结果是_______________。
#includemain(){int m=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);}A)1,2,1,2 B)1,2,2,1 C)2,1,2,1 D)2,1,1,25. C语句x*=y+2;还可以写成A x=x*y+2;B x=2+y*x;C x=x*(y+2);D x=y+2*x;6. 以下程序运行后的输出结果是________________。
#includemain(){int a=1,b=0;if(!a) b++;else if(a==0) if(a) b+=2;else b+=3;printf(“%d\n”,b)}A)0 B)1 C)2 D)37. 若要定义一个具有5个元素的整形数组,以下错误的定义语句是__________。
A)int a[5]={0}; B)int b[] = {0,0,0,0,0};C) int c[2+3] ; D)int i=5,d[i];8. 设有float x;则x是____变量。
【黑马程序员】C语言程序设计学习经典实例100题(第二部分)
【黑马程序员】C语言程序设计学习经典实例100题(第二部分)题目三十一:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if 语句判断第二个字母。
2.程序源代码:#includevoid main(){char letter;printf("please input the first letter of someday\n");while ((letter=getch())!='y')/*当所按字母为y时才结束*/{ switch (letter){case 's':printf("please input second letter\n");if((letter=getch())=='a')printf("saturday\n");else if ((letter=getch())=='u')printf("sunday\n");else printf("data error\n");break;case 'f':printf("friday\n");break;case 'm':printf("monday\n");break;case 't':printf("please input second letter\n");if((letter=getch())=='u')printf("tuesday\n");else if ((letter=getch())=='h')printf("thursday\n");else printf("data error\n");break;case 'w':printf("wednesday\n");break;default: printf("data error\n");}}}题目三十二:press any key to change color, do you want to try it. please hurry up!程序源代码:#includevoid main(void){int color;for (color = 0; color < 8; color++){textbackground(color);/*设置文本的背景颜色*/ cprintf("this is color %d\r\n", color); cprintf("press any key to continue\r\n"); getch();/*输入字符看不见*/}}题目三十三:学习gotoxy()与clrscr()函数程序源代码:#includevoid main(void){clrscr();/*清屏函数*/textbackground(2);gotoxy(1, 5);/*定位函数*/cprintf("output at row 5 column 1\n"); textbackground(3);gotoxy(20, 10);cprintf("output at row 10 column 20\n");}题目三十四:练习函数调用程序源代码:#includevoid hello_world(void){printf("hello, world!\n");}void three_hellos(void){int counter;for (counter = 1; counter <= 3; counter++) hello_world();/*调用此函数*/}void main(void){three_hellos();/*调用此函数*/}题目三十五:文本颜色设置程序源代码:#includevoid main(void){int color;for (color = 1; color < 16; color++){textcolor(color);/*设置文本颜色*/cprintf("this is color %d\r\n", color); }textcolor(128 + 15);cprintf("this is blinking\r\n");}题目三十六:求100之内的素数程序源代码:#include#include "math.h"#define n 101main(){int i,j,line,a[n];for(i=2;ifor(i=2;i for(j=i+1;j{if(a[i]!=0&&a[j]!=0)if(a[j]%a[i]==0)a[j]=0;}printf("\n");for(i=2,line=0;i{if(a[i]!=0){printf("%5d",a[i]);line++;}if(line==10){printf("\n");line=0;}}}题目三十七:对10个数进行排序1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。
fx0355《C语言程序设计》综合练习题适用于专升本:计算机科学与技术 (1)
《C语言程序设计》综合练习题一、单项选择题(共80题,每小题2分)(1)计算机语言不包括(C)。
A. 机器语言B. 汇编语言C. 智能语言D. 高级语言(2)C语言属于(D)。
A. 机器语言B. 汇编语言C. 智能语言D. 高级语言(3)printf语句的作用是(D)。
A. 写入文件B. 读入数据C. 记录数据D. 黑屏终端打印信息(4)下列关于C语言程序说法错误的是(A)。
A. main函数不是必须的B. 函数可以没有返回C. void表示函数没有返回值D. main函数是必须的(5)下列程序段的作用是(B)。
int a,b,sum;a=123;b=456;sum=a+b;A.对a、b初始化B. 实现123+456求和C.赋值D. 实现两数相减(6)printf语句中使用%d的作用是(C)。
A. 实现十进制输入B. 实现浮点数输出C. 实现十进制输出D. 无实际意义(7)下列不属于C关键字的是(C)。
A. whileB. forC. MapD. continue(8)下列变量命名合法的是(D)。
A. 123B. 9_qC. +1D. abc(9)下列关于C语言程序说法错误的是(A)。
A. 可以有多个main函数B. 程序由一个或多个源文件组成C. 程序应包含注释D. 程序可以没有输出(10)下列关于程序设计任务说法错误的是(A)。
A. 首先设计算法B. 其次设计算法C. 然后编写程序D. 最后编写文档(11)下列不属于算法的特征的是(C)。
A. 确定性B. 有穷形C. 二义性D. 可行性(12)下列说法正确的是(A)。
A. 算法+数据结构=程序B. 算法可以无限循环C. 算法只能用C语言实现D. 算法只能用Java语言实现(13)下列不属于算法的是(B)。
A. 成绩换算B. 打印字符串C. 求最小公倍数D. 求最大公约数(14)下列关于求1*2*…*5说法错误的是(D)。
A. 可以设计一个算法求解B. 可以使用wile循环C. 可以使用for循环D. 用循环解决效率不高(15)算法一般不可以用什么表示(C)。
c语言练习题
c语言练习题C语言是一种广泛应用于计算机科学和软件开发领域的编程语言。
通过练习题的形式来学习和巩固C语言的基础知识和编程技巧是非常有效的方法。
本文将为您提供一些C语言练习题,帮助您提升编程能力和理解C语言的特性。
一、基础题1. 编写一个程序,接受用户输入的两个整数,并计算它们的和。
2. 编写一个程序,接受用户输入的一个整数n,打印出1到n之间的所有奇数。
3. 编写一个程序,接受用户输入的一个整数n,计算并打印出1到n之间的所有数字的平方。
4. 编写一个程序,接受用户输入的一个整数n,判断n是否为质数(只能被1和自身整除)。
5. 编写一个程序,接受用户输入的一个字符串,判断该字符串是否是回文串(正读和倒读都一样)。
二、数组和指针1. 编写一个程序,定义一个包含10个元素的整型数组,并初始化为1到10的连续整数。
然后打印出数组中的所有元素。
2. 编写一个程序,定义一个包含n个元素的整型数组,并计算数组中所有元素的和。
3. 编写一个程序,定义一个包含n个元素的整型数组,并找出数组中的最大值和最小值。
4. 编写一个程序,定义一个包含n个元素的整型数组,并按逆序打印出数组中的所有元素。
5. 编写一个程序,定义一个包含n个元素的整型数组,并从键盘输入n个元素的值。
三、函数和指针1. 编写一个函数,接受两个整数参数a和b,并返回它们的和。
2. 编写一个函数,接受一个整型数组和数组的长度作为参数,并打印出数组中的所有元素。
3. 编写一个函数,接受一个整型数组和数组的长度作为参数,计算并返回数组中所有元素的和。
4. 编写一个函数,接受一个整型数组和数组的长度作为参数,找出数组中的最大值和最小值,并分别返回。
5. 编写一个递归函数,接受一个正整数n作为参数,计算并返回n 的阶乘。
四、文件操作1. 编写一个程序,从文件中读取一组整数,并计算它们的和。
2. 编写一个程序,将一组整数写入文件。
3. 编写一个程序,从文件中读取一组字符串,并按照字典顺序排序后输出。
C语言练习题及答案
C语言练习题及答案综合强化练习一一、选择题(每题1分,共40分)1、以下叙述正确的是( )A)C语言总是从第一个定义的函数开始执行B)在C程序中,要调用的函数必须在main函数中定义C)C程序的执行总是从main函数开始执行的D)C程序中的main函数必须放在程序的开始部分2、下列合法的用户标识符为( )A)_4sum B) static C) 1max D) #dtotal3、ch为字符型变量,则下面赋值语句正确的为( )。
A)ch="ABC" B) ch="A" C) ch= a D) ch=674、C语言中整形常量有哪几种形式( )A) 十进制、八进制、十六进制B) 二进制、十进制、八进制、十六进制C) 二进制、八进制、十六进制D) 二进制、十进制5、字符串" China "在内存中占用的字节数是( )A) 1 B) 2 C) 5 D) 66、int x,y; x=7/2;y=7/2.0;则x的值为( )A) 3.500000 3 B) 3 3.500000C) 3.500000 3.500000 D)3 37、下面程序int x=0x2B; printf("%d",x);的输出结果为( )A) 2B B) 0x2B C) 43 D) 448、实型常量用指数形式表示,下列哪一项不是合法的( )A) 3.65e3 B)0.356E3 C)356e3 D)3.56e3.09、设有语句int a=3;则执行了语句a-= a+=a*a;后变量a的值是( )A)0 B)3 C) -9 D) -310、下列字符中,错误的转义字符是( )A)'\085' B) '\\' C) '\0' D) '\n '11、下面程序的输出结果是( )int a=2;if(a=5) a=a+2;printf("%d ",a);A) 2 B) 4 C) 5 D)712、下列程序段的循环次数是( )int k=0;while(k= =0) printf("%d",k);k--; printf ("\n");A) 无限次B) 0 次C) 1次D)2次13、下列说法正确的是( )A) 在循环体中可以用break语句结束本次循环B) 在循环体中可以用continue语句结束本次循环C) break语句仅能使用在switch结构中D) 可以使用continue语句跳出switch结构14、以下正确的函数形式是()。
C语言基础知识综合练习题
一、 C语言基本知识和基本语句(一)选择题1.设a,b和c都是int型变量,且a=3,b=4,c=5则下面的表达式中,值为零的表达式是()。
A)‘a’&&’b’ B) a<=bC) a || b+c&&b-c D) ! ((a<b)&&! C|| 1)2.设ch是char型变量,其值为A字符,且有表达式:ch= (ch >= ‘A’ && ch <=‘Z’) ? ( ch + 32):ch,则表达式ch的值是()字符。
A)A B) a C) Z D) z3.若x和y都是int 型变量,x=100,y=200,且有程序段:printf(“%d”,(x,y));则输出结果是()。
A) 200 B)100 C) 100,200 D)输出格式不够,输出不确定的值4.C语言中最简单的数据类型包括()。
A)整型、实型、逻辑型 B) 整型、单精度型、双精度、字符型C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型5.C语言中,运算对象必须是整型的运算符是()。
A)% B) / C) % 和/ D) **6.数学关系x≥y≥z ,它对应C语言表达式是()。
A)(x>=y)&& (y>=z ) B) (x>=y) AND (y>=z )C) (x>=y>=z) D) (x>=y) & (y>=z )7.以下说法中正确的是()。
A)C语言程序总是从第一个定义的函数开始执行B) 在C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分8.设int x=10,y=3,z;则语句printf (“%d\n”,z=(x%y,x/y));的输出结果是()。
C语言综合练习题(新)
1) 设x,y均为整型变量,且x=10 y=3,则以下C语言的输出结果是()。
printf(“%d,%d\n”,x--,--y);a)10,3b)9,3c)9,2d)10,22)在C语言中,要计算一个数(变量i)的开平方,下面代码正确的是()。
a)printf(sqrt(t), "\n Square of%d",i)b)printf("\n Square of %d is %d",i,sqrt(i))c)[d)printf(sqrt(i),i,t, "\n Sqrt of %d is %d")e)printf(i,t,"\n Square of%d")f)scanf(i,"\n Square of%d is %d",sqrt(i))3)运行下列C程序:#include <>void fun(int x,int y,int z){ z=x*x+y*y;}void main(){ int a=31;fun(5,2,a);printf(“%d”,a);}输出结果是()。
e)0 b)29 c)31 d)无定值4)在C语言中,下面选项()是合法的变量名。
(选择两项)f)Minimum b)3rd_rowc)n1+n2; d)Doubles e)]5)运行下面的C程序:#include <>void main(){ int n;scanf(“%d”,&n);if(n++<10)printf(“%d\n”,n);elseprintf(“%d\n”,n--);}》若从键盘上输入9,则输出结果是()。
g)11 b) 10 c)9 d)86)在C语言中,下列关于条件语句的描述中,正确的是()。
(选择两项)a)当if语句嵌套使用的时候,最后一个else和最近的一个没有else匹配的if匹配b)一个if可以有多个else与之匹配c)一个switch语句总是可以被一系列if…else语句替换d)当执行break语句时程序将停止执行7)在C语言中,下面不正确的字符串常量是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言综合练习(2)二、液晶显示字符型液晶显示器用于显示数字、字母、图形符号。
这类显示器均把LCD控制器、点阵驱动器、字符存贮器等做在一块板上,再与液晶屏一起组成一个显示模块,因此,这类显示器安装与使用都较简单。
图2是前面课程中介绍的仿真实验板上字符型液晶的接口电路。
要求编写程序从该板的第二行第1列开始显示“Hello World!”。
此主题相关图片如下:由于市面上常见的字符型液晶驱动器均由HD44780或其兼容芯片构成,因此,这类液晶屏的驱动程序具有一定的通用性,这里给出用C语言写的驱动程序。
在设置字符的起始行、列后,直接调用驱动程序提供的WriteString函数即可将字符串显示在指定的位置,使用非常简单。
在熟悉了程序后,略作改动,可用于2002、2004等型号的液晶屏。
/***************************************************连线图:* DB0---DPROT.0 DB4---DPROT.4 RS-------------P2.5* DB1---DPROT.1 DB5---DPROT.5 RW-------------P2.6* DB2---DPROT.2 DB6---DPROT.6 E--------------P2.7* DB3---DPROT.3 DB7---DPROT.7 VLCD接10K可调电阻到GND**80C51的晶振频率为12MHz*液晶显示程序***************************************************/以下内容只有回复后才可以浏览#include "reg51.h"#include<absacc.h>#include <intrins.h>#define DPORT P0#define uchar unsigned char sbit RS = P2^5;sbit RW = P2^6;sbit E = P2^7;uchar Xpos; //列方向地址指针uchar Ypos; //行方向地址指针#define NoDisp 0#define NoCur 1#define CurNoFlash 2#define CurFlash 3/*延时程序由Delay参数确定延迟时间*/void LcdWcn(uchar);void LcdWc(uchar);void WriteChar(uchar);void LcdPos();void LcdWd(uchar);void LcdWdn(uchar);void mDelay(unsigned int Delay) { unsigned int i;for(;Delay>0;Delay--){ for(i=0;i<124;i++){;}}}/*光标设置命令Cur 为设定光标参数*/void SetCur(uchar Cur){ switch(Cur){ case 0x0:{ LcdWc(0x08); //关显示break;}case 0x1:{ LcdWc(0x0c); //开显示但无光标break;}case 0x2:{ LcdWc(0x0e); //开显示有光标但不闪烁break;}case 0x3:{ LcdWc(0x0f); //开显示有光标且闪烁break;}default: break;}}/*清屏命令*/void ClrLcd(){ LcdWc(0x01);}/*在指定的行与列显示*/void WriteChar(uchar c){ LcdPos();LcdWd(c);}/*正常读写操作之前检测LCD控制器*/void WaitIdle(){ uchar tmp;DPORT=0xff;RS=0;RW=1;E=1;_nop_();for(;;){ tmp=DPORT;tmp&=0x80;if(tmp==0)break;}E=0;}/*不检测忙的写字符子程序*/void LcdWdn(uchar c){RS=1;RW=0;DPORT=c; //写入待写字符E=1;_nop_();E=0;}/*带忙检测的写字符子程序*/void LcdWd(uchar c){ WaitIdle();LcdWdn(c);}/*检测忙信号的送控制字子程序*/ void LcdWcn(uchar c){ RS=0;RW=0;DPORT=c;E=1;_nop_();E=0;}/*检测忙信号的送控制字子程序*/void LcdWc(uchar c){ WaitIdle();LcdWcn(c);}void LcdPos(){ uchar tmp;Xpos&=0x0f; //16xx型液晶的范围是0~15 Ypos&=0x01; //Y的范围是0~1tmp=Xpos;if(Ypos==1){ tmp+=0x40;}tmp|=0x80;LcdWc(tmp);}/*LCD的复位程序*/void RstLcd(){ mDelay(15); //延时15msLcdWcn(0x38);mDelay(5);LcdWcn(0x38);mDelay(5);LcdWcn(0x38);LcdWc(0x38);LcdWc(0x08);LcdWc(0x01);LcdWc(0x06);LcdWc(0x0c);}void WriteString(char s[]){ uchar pS=0;for(;;){ WriteChar(s[pS]);pS++;if(s[pS]==0)break;if(++Xpos>=15) //每行最多显示16个字符break;}}void main(){ uchar s1[]="Hellow World!";RstLcd(); //复位LCDClrLcd();SetCur(CurFlash); //光标显示且闪烁Xpos=2;Ypos=1;WriteString(s1);for(;;){;}}程序分析:本程序中大量使用了函数,在此对函数的功能作一个简介。
C语言程序是由一个个函数构成的,从函数定义的形式上划分,函数有三种形式:无参数函数、有参数函和空函数。
无参数函数的定义形式为:返回值类型识别符函数名(){函数体语句}如本例中的void WaitIdle(){ …… }就是一个无参数函数有参数函数的定义形式为:返回值类型识别符函数名(形式参数列表){函数体语句}如本例中的void LcdWdn(uchar c){ …… }就是一个有参数的函数函数可以返回一个值,也可以什么值也返回,如果函数要返回一个值,在定义这个函数时要定义好这个值的数据类型,这里所说的数据类型就是指前面课程中介绍到的int、char、float等类型,如果在定义函数时没有定义返回值的类型,系统默认为返回一个int型的值。
如果明确地知道一个函数将没有返回值,可以将其定义为void型,这样,如果在调用函数时错误地使用了“变量名=函数名”的方式来调用函数,编译器就能发现这一错误并指出。
本例中就大量地应用到了void型函数。
C语言采用函数之间的参数传递方式,这使得一个函数能对不同的变量进行功能相同的处理,使函数具有了通用性。
定义函数时,写在函数名括号中的称之为形式参数,而在实际调用函数时写在函数括号中的称之为实际参数。
本例中:void SetCur(uchar Cur){ …}函数中Cur就是一个形式参数,而在主函数中调用时写的:SetCur(CurFlash);其中CurFlash就是一个用符号常量表示的实际参数,在执行该函数时该值被传递到函数内部并执行。
每一个函数所调用的函数必须已被定义,否则就会出现语法错误,因此程序中一般要求在程序的开头对程序中用到的函数进行统一的说明,然后再分别定义有关函数,本例中有:void WriteChar(uchar);…void LcdWdn(uchar);就是首先在程序的前方写一个有关函数的说明,而真正的函数定义则在程序放在后部。
但细心的读者可能发现有一些函数并未写其说明,而是直接在程序中定义了,如mDelay函数,这是为何呢?这是因为这些函数出现在程序的前面,在还没有任何函数调用它们之前它们就被定义了,因此就不需要再单独写一个函数说明。
读者可将mDelay函数的定义移到程序的后面位置,再次编译就会出错。
当然,好的编程习惯是不论函数在何处被定义,总是在写前面写一个函数说明。
有关单片机的C语言编程到此就告一个段落,虽然C语言很多特性尚未介绍,但通过上面有关内容的学习,我们已经可以使用C语言进行一些实际的工程开发工作,大家可以在工作中继续学习有关C语言的知识。