C语言基础知识综合练习题

合集下载

c基础知识试题及答案

c基础知识试题及答案

c基础知识试题及答案一、选择题(每题2分,共10分)1. C语言中,用于定义变量的关键字是:A. varB. letC. intD. define答案:C2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable!答案:B3. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World'"D. 'Hello World'答案:A4. C语言中,用于计算两个整数之和的运算符是:A. +B. -C. *D. /答案:A5. C语言中,哪个关键字用于定义函数?A. functionB. defineC. funcD. int答案:D二、填空题(每题3分,共15分)1. C语言的标准输入输出库是 ________.h。

答案:stdio2. 在C语言中,用于定义一个整型变量的关键字是 ________。

答案:int3. C语言中,用于定义一个浮点型变量的关键字是 ________。

答案:float 或 double4. 在C语言中,用于定义一个字符型变量的关键字是 ________。

答案:char5. C语言中,用于定义一个布尔型变量的关键字是 ________。

答案:_Bool 或 bool(在C99标准之后)三、简答题(每题5分,共20分)1. 请简述C语言中数组的定义方式。

答案:在C语言中,数组是通过指定元素类型和元素数量来定义的。

例如,定义一个整型数组可以写作:int array[10]; 这表示定义了一个可以存储10个整型元素的数组。

2. 请解释C语言中的指针是什么。

答案:C语言中的指针是一种特殊的变量,它存储的是另一个变量的内存地址。

通过指针,程序可以直接访问和操作内存中的数据。

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)printB)FORC)&aD)_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语言基础部分练习题

C语言基础部分练习题第1单元C语言基础知识一、单项选择题1.是构成C语言程序的基本单位。

A.函数B.过程C.子程序D.子例程2.以下叙述中正确的是______。

A.构成C程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main()函数必须放在其它函数之前D.所有被调用的函数一定要在调用之前进行定义3.下述正确的C语言常量是A.E2B.1.5E2.3C.5.OED.3e-34.下列计算机语言中,CPU能直接识别的是______。

A.自然语言B.高级语言C.汇编语言D.机器语言5.设int某=1,y=1;表达式(!某||y--)的值A.0B.1C.2D.-16.是C语言提供的合法的数据类型关键字。

A.FloatB.ignedC.integerD.Char7.不合法的常量是A.’\\2’B.\‘’D.\8.以下选项中合法的实型常数是______。

A.5E2.0B.E-3C..2E0D.1.3E9.以下选项中合法的用户标识符是______。

A.longB._2TetC.3Dma某D.A.dat10.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\\101'是______。

A.字符AB.字符aC.字符eD.非法的常量11.在C语言中,设int型占2字节,下列不正确的int型常数为A.32768B.0C.037D.0某af12.在通常微机上的C语言中,int类型数据占用(1)个字节存储;unignedint类型数据占用(2)个字节存储;hort类型数据占用(3)个字节存储;long类型数据占用(4)个字节存储。

A.1B.2C.4D.813.在C语言中,合法的字符常数是A.’\\084’B.’\\某42’C.’\\84’D.”\\0”14.下列不正确的转义字符是A.‘\\\\’B.’\\’’C.‘074’D.’\\0’15.下述语句的输出为int某=-1;printf(“%d,%u,%o”,某,某,某);A.-1,-1,-1B.-1,32767,-177777C.-1,32768,177777D.-1,65535,17777716.在C语言中,要求参加运算的数必须是整数的运算符是A./B.!C.%D.==17.下列语句中,符合语法的赋值语句是A.a=7+b+c=a+7;B.a=7+b++=a+7C.a=7+b,b++,a+7D.a=7+b,c=a+718.下述程序的输出结果是#includevoidmain(){inta=2;a%=4-1;printf(“%d,”,a);a+=a某=a-=a某=3;printf(“%d”,a);}A.2,OB.1,OC.-1,12D.2,1219.下述正确的语句是A.int某=y=z=0;B.intz=(某+y)++;C.某=+3==2;D.d%=2.5;20.下述程序的输出是#includevoidmain(){inta=011,b=101;printf(“\\n%某,%o”,++a,b++);}A.12,145B.9,144C.a,145D.a,521.以下非法的赋值语句是______。

(完整word版)C语言基础练习题(含答案)

(完整word版)C语言基础练习题(含答案)

目录第1-3章C语言基础知识习题 (2)1 选择题 (2)2 填空题 (7)3 答案及部分解析 (9)第4章选择结构习题 (11)1 选择题 (11)2 填空题 (17)3 答案及部分解析 (23)第5章循环结构习题 (26)1 选择题 (26)2 填空题: (32)3 答案及部分解题分析 (39)第6章数组习题 (41)1. 单项选择题 (41)2. 填空题 (44)3. 判断题 (45)4. 程序填空题 (45)5. 阅读程序,分析程序的功能。

(49)第7章函数习题 (55)1. 单项选择题 (55)2. 填空题 (56)3. 判断题 (57)4. 程序填空题 (58)5. 写出下列程序运行结果 (59)第8章指针习题 (67)1 选择题 (67)2 填空题 (69)第1-3章C语言基础知识习题1 选择题1. 以下不是C语言的特点的是()。

A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。

A.abc123 B.no.1 C._123_ D._ok3.正确的C语言标识符是()。

A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。

A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。

A.\\ B.\0xAA C.\t D.\06.不属于C语言关键字的是()。

A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。

A.Float B.signed C.integer D.Char8.以下不能定义为用户标示符的是()。

A.scanf B.V oid C._3com_ D.int9.一个C程序是由()。

c语言基础知识试题及答案

c语言基础知识试题及答案

c语言基础知识试题及答案C语言基础知识试题及答案1. C语言中,以下哪个关键字用于定义一个函数?A. classB. functionC. voidD. int答案: D2. 在C语言中,以下哪个选项是正确的字符串定义?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = {"Hello"};D. char str[] = "Hello", "World";答案: A3. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable-nameC. _variableD. variable$name答案: C4. C语言中,以下哪个运算符用于比较两个值是否不相等?A. ==B. !=C. <=D. >=答案: B5. 在C语言中,以下哪个选项是正确的注释方式?A. // 这是一个注释B. /* 这是一个注释 */C. //* 这是一个注释 */D. /* 这是一个注释答案: B6. C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. enumD. typedef答案: A7. 在C语言中,以下哪个语句用于结束一个循环?A. breakB. continueC. exitD. return答案: A8. C语言中,以下哪个选项是正确的数组定义?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array[5] = {1, 2, 3, 4, 5, 6};答案: A9. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. lengthC. sizeD. sizeof答案: A10. C语言中,以下哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案: C。

C语言基础练习题(含答案)

C语言基础练习题(含答案)

第一章C语言基础知识1.1 选择题1. 以下不是C语言的特点的是()。

A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。

A.abc123 B.no.1 C._123_ D.-_ok3.正确的C语言标识符是()。

A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。

A.void B.a3_b3C.For D.2a define _123 -abc DOWORD IF Case sizeof 5.下列符号中,不属于转义字符的是()。

A.\\ B.\0xAA C.\t D.\0 6.不属于C语言关键字的是()。

A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。

A.Float B.signedC.integer D.Char8.以下不能定义为用户标示符的是()。

A.scanf B.V oid C._3com_ D.int9.一个C程序是由()。

A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成10. C语言程序的基本单位是()。

A.程序行B.语句C.函数D.字符11.下列说法中,错误的是()。

A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数12.以下说法中正确的是()。

A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行D.C语言程序中的main( )函数必须放在程序的开始部分13. C编译程序是()。

计算机c语言综合试题及答案

计算机c语言综合试题及答案

计算机c语言综合试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. !=C. <=D. >=答案:A4. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A5. 在C语言中,以下哪个关键字用于声明一个函数?A. functionB. defC. voidD. int答案:C6. C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int array[10] = {0};D. All of the above答案:D7. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. _variableD. All of the above答案:D8. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:A9. C语言中,以下哪个选项用于定义一个无限循环?A. while(1)B. for(;;)C. do whileD. All of the above答案:D10. 在C语言中,以下哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案:C二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。

(完整版)C语言基础知识综合练习题

(完整版)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));的输出结果是()。

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

一、二、三、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));的输出结果是()。

A) 1 B) 0 C) 4 D) 39.C语言表达式10 != 9 的值是()。

A)true B) 非零值 C) 0 D) 110.合法的C语言字符常量是()。

A)’\t’B) “A” C) 65 D) A11.若int类型数据占两个字节,则下列语句的输出为()。

int k = -1 ;printf (“%d,%u\n ”,k,k);A)- 1,- 1 B) – 1,32767 C) –1,32768 D) –1,6553512.组成C语言程序的是()。

A)子程序 B) 过程 C) 函数 D) 主程序和子程序13.以下的选项中,正确的赋值语句是()。

A)i++; B)a=1,b=2; C) a=b=5 D) y=int(x);14. 以下不符合C语言语法的语句是()。

A)i++; B)i=j=5; C)k=2*4,k*4; D) y=float(i)15. 下列程序的输出结果是()。

main(){ int a=9;a+=a-=a+a;printf(“%d\n”,a); }A) 18 B) 9 C) –18 D) –916. 下列语句的输出结果是()。

printf(“%d\n”,(int)(2.5+3.0)/3);A)有语法错误不能通过编译 B) 2 C) 1 D) 017.下列程序的输出是()。

main(){ int a = 7,b=5;printf(“%d\n”,b=b/a); }A)有语法错误不能通过编译 B) 2 C) 1 D) 018.请阅读程序()。

main(){ int a;float b,c;scanf(“%2d%3f%4f”,&a,&b,&c);printf(“\na=%d,b=%f,c=%f\n”,a,b,c); }若运行时从键盘上输入9876543210<CR>(CR表示回车),则上面程序的输出结果是()。

A)a=98,b=765,c=4321 B) a=10,b=432,c=8765C) a=98,b=765.000000,c=4321.000000 D) a=98,b=765.0,c=4321.019.以下程序的输出结果是()。

main(){ int a=-1,b=4,k;k=(++a<0)&&! (b - -<=0);printf (“%d%d%d\n”,k,a,b); }A) 1 0 4 B) 1 0 3 C) 0 0 3 D) 0 0 420.下列程序的输出结果是()。

main(){ int i,j,k,a=3,b=2;i=(- -a= =b++)?- - a :++b;j=a++;k=b;printf (“i=%d,j=%d,k=%d\n”,i,j,k);}A)i=2,j=1,k=3 B) i=1,j=1,k=2 C) i=4,j=2,k=4 D) i=1,j=1,k=3(二)填空题1.在C语言中,double类型数据占个字节;char类型数据占个字节。

2.设C语言中,int 类型数据占2个个字节,则long类型数据占个字节;unsigned int类型数据占个字节; short类型数据占个字节;3.表达式8/4*(int)2.5/(int)(1.25*(3.7+2.37))值的数据类型为4.假设m是一个三位数,从左到右用a,b,c表示每一位的数字,若从左到右数字是bac的三位数,则在C语言中用m表示bac的表达式是二、C语言选择和循环结构1.在C语言中,能代表逻辑值“真”的是()。

A)true B) 大于0的数 C) 非0整数 D) 非0的数2.若给定条件表达式(M)?(a++): (a--);则其中表达式MA)和(M==0)等价 B) 和(M==1)等价C) 和(M!=0)等价 D) 和(M!=1)等价3.在C语言的if语句中,用作判断的表达式是()。

A)关系表达式 B)逻辑表达式 C)算术表达式 D)任意表达式4.若变量已正确定义,则以下程序段的输出为()。

int a=2;b=3;printf(a>b?“* * * a=%d”:“# # # b=%d”,b);A)没有正确的输出格式控制 B) * * * a=2C) # # # b=3 D) * * * a= 2# # # # b=35.以下程序段的输出结果为()。

int a=1;b=2,c=2,t=0;while(a<b) {t=a;a=b;b=t;c++;}printf(“%d,%d,%d”,a,b,c );A)1,2,0 B) 2,1,0 C)1,2,1 D) 2,1,36.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是()。

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=207.以下程序的运行结果是()。

main( ){ int m=5;if (m++>5) printf (“%d\n”,m);else printf (“%d\n”,m--); }A)4 B) 5 C) 6 D) 78. 以下不正确的语句是()。

A)if (x>y);B) if (x=y)&&(x!=0) x+=y;C) if (x!=y) scanf(“%d”,&x);else scanf(“%d”,&y);D) if (x<y) {x++;y++;}9. 若w、x、y、z、m均为int型变量,则执行下面语句后的m 值是()。

w=1;x=2;y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;A)1 B) 2 C) 3 D) 410.下面有关for循环的正确描述是()。

A)for 循环只能用于循环次数已经确定的情况B)for 循环是先执行循环体语句,后判断表达式C)在for 循环中,不能用break语句跳出循环体D)for 循环的循环体中,可包含多条语句,但必须用花括号括起来11.若i为整数变量,则以下循环执行的次数是()。

for(i=2;i==0;) printf(“%d”,i--);A)无限次 B) 0次 C) 1次 D) 2次12.执行语句for(i=1;i++< 4;);后变量i的值是()。

A) 3 B) 4 C) 5 D) 不定13.以下正确的说法是()。

A)continue 语句的作用是结束整个循环的执行B) 只能在循环体内和switch语句体内使用break语句C) 在循环体内使用break语句或continue语句的作用相同D) 在多层循环嵌套中退出时,只能使用goto语句14. 以下程序的功能是判断输入的年份是否是闰年。

请在填入正确内容main ( ){ int y,f;scanf (“%d”,&y);if (y%400 = = 0) f=1;else if ( ① ) f=1;else ② ;if (f) printf(“%d is ”,y);else printf(“%d is not ”,y);printf (“a leap year \n”); }15.有四个数a,b,c,d 要求按从大到小的顺序输出请在内填入正确内容main( ){ int a,b,c,d,t;scanf(“%d %d %d %d”,&a,&b,&c,&d);if (a<b) {t=a;a=b;b=t;}if ( ① ) {t=a;a=d;d=t;}if (a<c) {t=a;a=c;c=t;}if (② ) {t=b;b=c;c=t;}if (b<d) {t=b;b=d;d=t;}if (c<d) {t=c;c=d;d=t;}printf (“%d %d %d %d\n”,a,b,c,d); }16.以下程序的功能是()。

从键盘输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。

main ( ){ float x,amax,amin;scanf (“%f”,&x);amax = x;amin = x;while ( ① ){ if (x>amax) amax = x;if ( ② ) amin = x;scanf (“%f”,&x);}printf (“\namax = %f\namin = %f\n”,amax,amin);}17.以下程序的功能是计算1-3+5-7+……-99+101的值,请填空。

main ( ){ int i,t =1,s = 0;for (i= 1; i< =101;i+=2){ ① ; s = s+t; ② ;}printf (“%d\n”,s);}或:main ( ){ int i,t =1,s = 0;for (i= 1; i< =101;i+=2){ s = s+t*i; ③ ;}printf (“%d\n”,s);}18.若用0至9之间不同的三个数构成一个三位数,下面程序统计出共有多少种方法。

相关文档
最新文档