习题C语言基础知识

合集下载

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语言基础试题库及答案一、选择题1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言的标准数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,用于实现循环的关键字是:A. whileB. forC. ifD. switch答案:A、B4. C语言中,用于定义函数的关键字是:A. functionB. defC. voidD. int答案:C5. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. int答案:B、C二、填空题1. C语言中,________关键字用于定义一个数组。

答案:int2. 在C语言中,________关键字用于定义一个指针。

答案:*3. C语言中,________关键字用于定义一个函数。

答案:int4. 在C语言中,________运算符用于求两个数的和。

答案:+5. C语言中,________运算符用于判断两个数是否相等。

答案:==三、简答题1. 请简述C语言中函数的定义和调用过程。

答案:函数定义包括函数的返回类型、函数名、参数列表和函数体。

函数调用则是通过函数名和参数列表来调用已定义的函数。

2. 解释C语言中指针的概念及其用途。

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

指针常用于动态内存分配、数组处理和函数参数传递。

四、编程题1. 编写一个C语言程序,计算并输出100以内所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for(int i = 1; i <= 100; i++) {if(i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d", sum);return 0;}```2. 编写一个C语言函数,用于交换两个整数变量的值。

C语言基础知识 试题 精选

C语言基础知识 试题 精选

C语言基础知识试题精选work Information Technology Company.2020YEARC语言基础知识题目精选[1] 下面叙述中正确的是__B__。

A.调用函数时的实参只能是有确定值的变量B.return( )语句中的括号中,可以是变量,常量或有确定值的表达式C.C语言中,函数调用时实参变量和形参变量间的参数传递方式都不是值传递D.实参和形参若类型不匹配,编译时将报错[2]下面叙述中错误的是__A__A.主函数中定义的变量在整个程序中都是有效的B.在其它函数中定义的变量在主函数中也不能使用C.形式参数也是局部变量D.复合语句中定义的函数只在该复合语句中有效[3]下列说法中正确的是__A__。

A.带参数的宏定义中的参数是没有类型的B.宏展开将占用程序的运行时间C.宏定义命令是C语言中的一种特殊语句D.使用#include命令包含的头文件必须以“.h"为后缀[4] 完成将文件指针fp重新指向文件的开头位置的函数是__D__。

A.feof(fp)B.ferror(fp)C.fseek(fp)D.rewind(fp)[5] 下面说法中错误的是_D___。

A.以二进制形式输出文件,则文件的内容与内存中完全一致B.定义:int a=123;若以ASCII文件的形式存放,变量a将在磁盘上占三个字节C.C语言中,没有输入输出语句,对文件的读写都是用库函数来实现的D.C语言的文件中,数据以记录为界线,便于区分[6]. C语言中,switch后的括号内表达式的值可以是__D__。

A.只能为整型B.只能为整型,字符型,枚举型C.只能为整型和字符型D.任何类型[7.] 若函数的形参为一维数组,则下列说法中正确的是_B___。

A.调用函数时的对应实参必为数组名B.形参数组可以不指定大小C.形参数组的元素个数必须等于实参数组的元素个数D.形参数组的元素个数必须多于实参数组的元素个数[8]. 系统的标准输出文件是_D___。

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

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

C语言基础练习100题(含答案)雷柳青编排1、下面程序的输出是________#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=13C)k=11,k=013,k=0xb D)k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是________。

A) ++t;B) n1=(n2=(n3=0));C)k=i=j;D)a=b+c=1;3、下面合法的C语言字符常量是__________。

A)’\t' B)"A" C) 65 D)A4、字符(char)型数据在微机内存中的存储形式是____。

A)反码B)补码C)EBCDIC码D)ASCII 码5、设int a=12,则执行完语句a+=a—=a*a后,a的值是________A)552 B) 264 C)144 D)-2646、执行下面程序中的输出语句后,输出结果是______.#include<stdio。

h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B)20 C) 15 D) 107、下面程序的输出是__________。

#include〈stdio。

h〉void main(){int x=023;printf("%d\n",—-x);}A)17 B) 18 C)23 D)24 8、下面程序的输出是___________。

#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)不确定的值9、以下程序的输出结果是________。

c语言程序基础考试题及答案

c语言程序基础考试题及答案

c语言程序基础考试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义字符型变量的关键字是______。

A. intB. charC. floatD. double答案:B2. 下列关于C语言函数的描述,正确的是______。

A. 函数必须有返回值B. 函数可以没有参数C. 函数的返回值类型不能是结构体D. 函数可以没有返回值答案:B3. 在C语言中,以下哪个运算符用于计算两个数的和?A. %B. +C. &&D. ==答案:B4. 以下哪个选项是C语言中的合法整型常量?A. 0x1AB. 0.1C. 1.2e3D. 0123答案:A5. C语言中,以下哪个关键字用于声明一个函数?A. structB. intC. voidD. return答案:C6. 在C语言中,以下哪个选项是正确的字符串字面量?A. "hello"B. 'hello'C. "helloD. 'hello'答案:A7. C语言中,以下哪个选项是正确的注释?A. // this is a commentB. /* this is a comment */C. // this is a commentD. /* this is a comment */答案:A8. C语言中,以下哪个选项是正确的二进制常量表示?A. 0b1010B. 0x2AC. 0101D. 0x10答案:A9. 在C语言中,以下哪个选项是正确的数组声明?A. int arr[] = {1, 2, 3};B. int arr[3] = {1, 2, 3};C. int arr[] = {1, 2};D. int arr[3] = {1};答案:A10. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是______。

c语言入门练习题

c语言入门练习题

C语言入门练习题一、基础知识篇1.1 变量与常量1. 定义一个整型变量并赋值为10。

2. 声明一个浮点型常量,其值为3.14。

3. 将字符型变量 'A' 赋值给另一个字符型变量。

1.2 数据类型1. 将一个整型变量转换为浮点型变量。

2. 将一个长整型变量赋值给一个短整型变量。

3. 编写一个程序,输出不同数据类型所占的字节数。

1.3 运算符1. 计算5加3乘2的结果。

2. 判断两个整型变量是否相等。

3. 使用自增运算符使变量i的值增加1。

二、控制结构篇2.1 顺序结构1. 编写一个程序,输出1到10的整数。

2. 输出用户输入的两个整数中的较大值。

3. 计算并输出圆的面积(给定半径)。

2.2 选择结构1. 判断一个整数是正数、负数还是零。

2. 根据用户输入的成绩,输出对应的等级(A、B、C、D、E)。

3. 编写一个程序,实现石头剪刀布的游戏。

2.3 循环结构1. 计算1到100所有整数的和。

2. 输出所有的水仙花数(一个三位数,其各位数字的立方和等于该数本身)。

3. 使用循环结构输出九九乘法表。

三、函数篇3.1 函数定义与调用1. 编写一个函数,计算两个整数的和。

2. 定义一个函数,实现字符串的复制。

3. 创建一个函数,判断一个数是否为素数。

3.2 递归函数1. 使用递归函数计算斐波那契数列的第n项。

2. 编写一个递归函数,实现字符串的逆序输出。

3. 利用递归函数求解汉诺塔问题。

四、数组篇4.1 一维数组1. 初始化一个包含10个整数的数组,并输出其元素。

2. 计算一维数组中所有元素的和。

3. 找出一维数组中的最大值和最小值。

4.2 二维数组1. 创建一个3行4列的二维数组,并输出其元素。

2. 计算二维数组对角线元素的和。

3. 实现矩阵的转置。

五、指针篇5.1 指针基本操作1. 声明一个整型变量和一个指向该变量的指针,并输出指针所指向的值。

2. 使用指针实现两个整数的交换。

3. 编写一个函数,通过指针参数修改传入的字符串。

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

(完整版)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.Void C._3com_ D.int9.一个C程序是由()。

c语言程序与设计基础知识试题及答案

c语言程序与设计基础知识试题及答案

c语言程序与设计基础知识试题及答案一、单项选择题(每题2分,共20分)1. C语言中,用于定义结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中的合法整型常量?A. 0x12B. 0123C. 0.12ED. 12e答案:A3. 在C语言中,用于定义数组的关键字是:A. arrayB. listC. vectorD. none of the above答案:D4. 下列哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B5. C语言中,用于文件操作的库函数是:A. stdio.hB. string.hC. math.hD. stdlib.h答案:A6. 下列关于指针的描述,错误的是:A. 指针可以存储变量的地址B. 指针可以存储一个值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B7. 在C语言中,用于定义函数的关键字是:A. functionB. defineC. defD. void答案:D8. 下列哪个选项不是C语言中的控制结构?A. if-elseB. switch-caseC. forD. goto答案:D9. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. all of the above答案:D10. C语言中,用于定义枚举类型的关键字是:A. enumB. typedefC. structD. union答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义一个名为“person”的结构体,包含姓名和年龄两个成员,正确的定义方式是:struct person { char name[50];int age; }。

答案:正确2. 在C语言中,使用________函数可以输出格式化的字符串到控制台。

c语言编程基础题库及详解答案

c语言编程基础题库及详解答案

c语言编程基础题库及详解答案1. C语言是一种______语言。

A. 编译型B. 解释型C. 标记型D. 脚本型答案:A2. C语言中,以下哪个是合法的变量名?A. 2variableB. variable2C. variable-nameD. variable_name答案:B3. 在C语言中,整数类型int的范围是多少?A. -128到127B. -32768到32767C. -2147483648到2147483647D. 以上都不是答案:C4. 下列哪个是C语言中的控制语句?A. ifB. loopC. switchD. All of the above答案:D5. C语言中,以下哪个是正确的数组声明?A. int arr[10];B. int [10] arr;C. Both A and BD. None of the above答案:C6. 在C语言中,以下哪个是正确的函数声明?A. void myFunction();B. int myFunction;C. int myFunction();D. Both A and C答案:D7. C语言中,以下哪个是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. Both A and BD. None of the above答案:A8. 在C语言中,以下哪个操作符用于计算两个数的乘积?A. *B. /C. %D. +答案:A9. C语言中,以下哪个是正确的循环结构?A. forB. whileC. do-whileD. All of the above答案:D10. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. int ptr[];C. Both A and BD. None of the above答案:A11. C语言中,以下哪个是正确的结构体声明?A. struct myStruct { int a; float b; };B. struct { int a; float b; };C. Both A and BD. None of the above答案:C12. 在C语言中,以下哪个是正确的枚举类型声明?A. enum Color { RED, GREEN, BLUE };B. enum { RED, GREEN, BLUE };C. Both A and BD. None of the above答案:C13. C语言中,以下哪个函数用于将整数转换为字符串?A. atoi()B. itoa()C. sprintf()D. Both A and B答案:B14. 在C语言中,以下哪个函数用于计算两个数的最大公约数?A. max()B. gcd()C. min()D. Both A and C答案:B15. C语言中,以下哪个函数用于动态内存分配?A. malloc()B. calloc()C. realloc()D. All of the above答案:D16. 在C语言中,以下哪个是正确的文件操作函数?A. fopen()B. fclose()C. Both A and BD. None of the above答案:C17. C语言中,以下哪个是正确的位操作符?A. &B. |C. ^D. All of the above答案:D18. 在C语言中,以下哪个是正确的预处理指令?A. #includeB. #defineC. Both A and BD. None of the above答案:C19. C语言中,以下哪个是正确的递归函数调用?A. function();B. function(function());C. function(recursive);D. None of the above答案:B20. 在C语言中,以下哪个是正确的宏定义?A. #define PI 3.14159B. define PI 3.14159C. Both A and BD. None of the above答案:A。

c语言基础试题及答案

c语言基础试题及答案

c语言基础试题及答案一、选择题1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B3. 下列哪个选项是C语言中的合法整数常量?A. 0x12B. 0X12C. 0x1GD. 0x1g答案:A4. C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A5. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. defineD. void答案:D二、填空题1. C语言中,用于定义一个变量的关键字是________。

答案:int2. C语言中,用于定义一个数组的语法是________。

答案:type arrayName[arraySize];3. C语言中,用于定义一个指针的语法是________。

答案:type *pointerName;4. C语言中,用于定义一个函数的语法是________。

答案:type functionName(parameters);5. C语言中,用于定义一个枚举的语法是________。

答案:enum enumName {elements};三、简答题1. 简述C语言中指针和数组的关系。

答案:在C语言中,指针和数组有密切的关系。

指针可以指向数组的元素,数组名可以作为指向数组首元素的指针。

通过指针可以访问和修改数组中的元素。

2. 描述C语言中函数的调用过程。

答案:在C语言中,函数调用过程包括:调用函数、传递参数、执行函数体、返回结果。

调用函数时,程序控制权转移到被调用函数,函数执行完毕后,返回到调用点继续执行。

四、编程题1. 编写一个C语言程序,实现计算两个整数的和。

答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two numbers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("The sum is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现字符串的反转。

C语言基础知识习题

C语言基础知识习题

第二章:C语言概述1.以下(○A)是不正确的转义字符。

A.'\\'B.'\"C.'020'D.'\0'2.构成C语言程序的基本单位是(○C)。

A.函数B.变量C.子程序D.语句3.C语言规定:在一个源程序中,main( )函数的位置(C)。

A.必须在最开始B.必须在系统调用的库函数后面C.可以任意D.必须在最后4.为求出return语句返回计算100!的结果,此函数的类型说明应为(D)。

A.intB.longC.unsigned longD.选项A,B,C.都不对:ABC的数值范围都不够5.C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符(C)。

A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字和下划线中的任意一种6.以下选项中合法的用户标识符是(D)。

A.intB.a#C.5memD._2437.C语言中的简单数据类型有(C)。

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

A.-37B.32,758C.326D.69.以下选项中合法的C语言字符常量是(A)。

A.'\t'B."A"C.67D. A10.以下选项中不正确的实型常量是(A)。

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

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

A.0~255B.0~65535C.-32768~32767D.-256~255第三章:运算符与表达式(原先给的答案很多错误)1.以下叙述中不正确的是(B)。

A.在C程序中,%是只能用于整数运算的运算符B.在C程序中,无论整数还是实数,都能准确无误地表示C.若a 是实型变量,C程序中a=20是正确的,因此实型变量允许被整型数赋值D.以上表述都是正确的2.若变量x、y、z均为double类型且已正确赋值,不能正确表示x/y×z的C语言表达式是(A)。

C语言基础知识习题答案——第一章

C语言基础知识习题答案——第一章

第一章C语言基础知识一,选择题1 答案是AA正确B {}可以作为复合语句的标志C main 函数不是用户命名的D 分号是语句结束的标志,肯定是语句的一部分做这个题目需要对书上的概念透彻的理解2 答案是AA 错误用户标识符:命名时,标识符的选择由用户自定,但是不能与关键字相同,所以A选项错误。

这个题目考察用户标识符3 答案是B用户标识符是标识符,所以可以是有下划线,但是中划线不属于字母,数字,下划线其中一种。

这个题目考察用户标识符的概念。

4 答案是Bdefine 是预定义标识符,而预定义标识符可以是用户标识符,所以define可以是用户标识,if 是关键字,而关键字不能是用户标识符,所以if不可以是用户标识符5 答案是Dlong 是关键字,参照附录二注:6--13 考察用户标识符概念6 答案是DD答案以数字2开头了,不符合标识符定义7 答案是CC答案以数字开头了8 答案是Dint 是关键字9 答案是B答案A 是关键字,答案C是以数字开头了,不符合概念,答案D出现了小数点10 答案是A答案A出现了小数点11 答案是C答案C 以数字开头了12 答案是AB答案中float 是关键字,C答案中3c以数字3开头了,D答案中-5d 中- 不属于字母,数字,下划线中一种13 答案是AB答案中-max中-错误,C答案中3COM以字母3开头了,D答案中int 是关键字,不是用户标识符14 答案是BA答案中15. 后面不应该有点,C答案中出现了逗号,D中字母B有问题15 答案是DVisual C++6.0中int类型的变量占的字节数为4。

16 答案是BB中出现了8,而八进制只能有0到7组成17 答案是D答案D中开头是0不是o18 答案是C答案A中E后面是整数,0.5是小数答案B 中E后面不能为空答案D中E前面不能为空本题目考察指数的表示形式19 答案是C答案A中2.0有问题,不能为小数形式答案B中E前面不能为空答案D中E后面不能为空本题目考察指数的表示形式20 答案是AB中八进制中不能出现数字8,C中e后面不能是小数,D中e后面不能为空21 答案是BB中0.4是小数,不正确22 答案是CC中0.5是小数,不正确23 答案是D3.6-5/2+1.2+5%2=3.6-2+1.2+1=3.8本题目考察算术运算符,需要注意整数除以整数结果只能是整数24 答案是D%不能用于实型的计算25 答案是DD答案中$不属于字母,数字,下划线26 答案是AA答案是逗号表达式,B答案中x+1=y是赋值表达式,左边只能是变量,而这里是x+1, 同理答案C中x+10也是错误的,在D答案中,考察的是强制类型转换,正确的是(double)x/1027 答案是A本题考察的是注释需要注意的地方,具体解答见课本第2页中间部分28 答案是B答案A中n2没有定义,答案C中在定义f之前不能使用它,答案D 中E后面必须是整数29 答案是C考察的是强制类型转换,正确的是k%(int)f30 答案是D本题目类似与第七课时的例一,解题方法是要抓住++m,--n,--m,表达式的值是变量变化之后的值,而n--表达式的值是变量n变化之前的值31 答案是B本题目考察的是负整数与无符号正整数在计算机中存放的格式的一样的,但表示的不同的两个数32 答案是CA答案中%运算对象不能为实型,26.8错误,B答案中考察的赋值运算符,赋值运算符左边必须是变量,所以赋值运算符左边1+2错误,同理答案D错误33 答案是C本题目考察的是课本第15页的关于自加与自减运算符的第一点说明,即增量运算符的运算对象只能是变量,而在C答案中++(i+1)中,i+1是表达式34 答案是B本题目考察的是整数除以整数结果是整数,在B答案中1/2结果是0,导致整个表达式的值是0,明显是错误的35 答案是D对于++、--单目运算符来说,其运算对象可以是char型、int型和float 型变量36 答案是A本题目主要考察n++表达式的值是n变化之前的值,然后使n的值增加137 答案是Bc=a/b+0.4 c=8/5+0.4 c=1+0.4 c=1.4 因为c 是int 型的,所以c的值是1 ,做此题目需要仔细阅读题目38 答案是D(int)a+b/b=(int)5.5+2.5/2.5=5+1.000000=b=6.000000同样a,b的类型是double型的39 答案是Dlong 和short不能相互修饰40 答案是C标识符中不能有$41答案是CA选项中,在变量赋值时不能赋给表达式,而y*5是表达式;选项B 中进行强制类型转换时,类型标识符要加上括号,所以错误;选项D 中,%(求余运算符)运算对象只能是整形数。

C语言基础知识复习题

C语言基础知识复习题

C语言基础知识复习题选择题:1、以下选项中不属于C语言的类型的是( D )A. signed short intB. unsigned long intC. unsigned intD. long short2、若有定义:int a=8,b=5,C;,执行语句C=a/b+0.4;后,c 的值为( B ).A. 1.4B. 1C. 2.0D. 23、设整型变量a值为9,则下列表达式中使b的值不为4的表达式 B 。

A. b=a/2B. b=a%2C. b=8-(3,a-5)D. b=a>5?4:24、在C语言中,反斜杠符是 D 。

A. \nB. \tC. \vD. \ \5、设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为__C__。

A. 不定值B. 4C. 3D. 16、以下运算符中优先级最低的是( C ) .A. &&B. &C. ||D. |7、下列标识中合法的用户标识符为__A__.A. yearB. longC. 7 x yzD. struct8、执行语句for(i=1;i++ < 4;); 后变量i 的值是( C ).A. 3B. 4C. 5D. 不定9、已知ch是字符变量;下面不正确的赋值语句是__A__。

A. ch=‘a+b’B. ch=‘\0’C. ch=‘7’+‘9’D. ch=5+910、设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( C )A. 不定值B. 4C. 3D. 111、若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式:(float)(a+b)/2+(int)x%(int)y的值是( B )。

A. 2.500000B. 3.500000C. 4.500000D. 5.00000012、设a、b和c是int型变量,且a=2,b=4,c=6,则下面表达式中值为0的是:(D )。

C语言基础练习100题含标准答案

C语言基础练习100题含标准答案

C语言基础练习100题含标准答案1. 编写一个C语言程序,要求输出"Hello, World!"#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}2. 编写一个C语言程序,要求输出两个整数的和。

#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("两个整数的和为:%d\n", sum);return 0;}3. 编写一个C语言程序,要求输出一个整数的平方。

#include <stdio.h>int main() {int num, square;printf("请输入一个整数:");scanf("%d", &num);square = num * num;printf("该整数的平方为:%d\n", square);return 0;}4. 编写一个C语言程序,要求输出1到10的所有整数。

#include <stdio.h>int main() {int i;for (i = 1; i <= 10; i++) {printf("%d ", i);}printf("\n");return 0;}5. 编写一个C语言程序,要求输出1到10的所有整数的和。

#include <stdio.h>int main() {int i, sum = 0;for (i = 1; i <= 10; i++) {sum += i;}printf("1到10的所有整数的和为:%d\n", sum);return 0;}6. 编写一个C语言程序,要求输入一个字符串并输出该字符串。

C语言基础知识练习及答案

C语言基础知识练习及答案

一、单项选择题1. C语言源程序文件经过C编译程序编译连接之后生成一个后缀为__C____的文件。

A、”.c”B、“.obj”C、“.exe”D、“.bas”2. 以下选项中不正确的整型常量是_C____。

A、12LB、-10C、1,900D、123U3. 表达式___C___的值是0。

A、3%5B、3/5.0C、3/5D、3<54. 表达式!(x>0||y>0) 等价于__D___。

A、!x>0||!y>0B、!(x>0)||!(y>0)C、!x>0&&!y>0D、!(x>0)&&!(y>0)5. 若变量已正确定义并赋值,表达式__D____不符合C语言语法。

A、4&&3B、+aC、a=b=5D、int(3.14)6. 若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3);时,___B___是正确的输入。

A、2030,40B、20 30 40C、20, 30 40D、20, 30,407. 执行语句printf(”__D____”, 2); 将得到出错信息。

A、%dB、%oC、%xD、%f8. 设变量定义为“int s[ ]="hello\nworld\n";”,则数组s中有__B____个元素。

A、12B、13C、14D、159. 设变量定义为“int a[2]={1,3}, *p=&a[0]+1;”,则*p的值是___B__。

A、2B、3C、4D、&a[0]+110. 若变量已正确定义并赋值,表达式-k++ 等价于__A____。

A、-(k++)B、(-k)++C、-(k+1)D、-(++k)11. 在C 语言程序中,在函数内部定义的变量称为__D____。

A、全局变量B、全程变量C、外部变量D、内部变量12. 若x是整型变量,表达式(x=10.0/4.0) 的值是__D___ 。

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

c语言考试试题基础版及答案

c语言考试试题基础版及答案

c语言考试试题基础版及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. INTC. IntegerD. int_答案:A2. C语言中,用于定义一个字符型变量的关键字是?A. charB. characterC. stringD. var答案:A3. 在C语言中,下列哪个运算符用于比较两个值是否相等?A. ==B. =C. !=D. =答案:A4. 下列哪个选项不是C语言中的控制结构?A. ifB. forC. whileD. switch答案:D5. 在C语言中,下列哪个函数用于将整数转换为字符串?A. atoiB. itoaC. sprintfD. printf答案:B6. C语言中,用于定义一个整型数组的语法是?A. int array[10];B. int [10] array;C. int array[];D. int array=10;答案:A7. 下列哪个选项是C语言中的正确注释?A. // 这是一个注释B. /* 这是一个注释 */C. //* 这是一个注释D. /* 这是一个注释答案:A8. 在C语言中,用于定义一个函数的关键字是?A. functionB. defC. defineD. void答案:D9. 下列哪个选项是C语言中的正确字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, WorldD. Hello, World!答案:A10. 在C语言中,用于声明一个无返回值的函数的关键字是?A. intB. voidC. charD. float答案:B二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:int ____________; 答案:变量名2. 用于计算两个整数之和的C语言运算符是:__________;答案:+3. 如果要在C语言中声明一个名为“result”的浮点型变量,应使用:float ____________;答案:result4. 在C语言中,用于定义一个二维数组的语法是:int____________[3];答案:数组名5. C语言中,用于声明一个指向整型变量的指针的语法是:int*____________答案:指针名6. 使用C语言中的printf函数输出字符串时,需要在字符串前加上的字符是:__________;答案:"7. 在C语言中,用于从键盘读取一个字符的函数是:__________;答案:getchar()8. 如果要声明一个名为“total”的整型变量并初始化为0,应使用:int total = __________;答案:09. 在C语言中,用于定义一个静态局部变量的关键字是:__________; 答案:static10. C语言中,用于计算两个浮点数之差的运算符是:__________;答案:-三、编程题(每题10分,共20分)1. 编写一个C语言程序,计算并输出100以内所有偶数的和。

c语言入门基础100题

c语言入门基础100题

c语言入门基础100题设有语句:printf("%2d\n",2010);,则以下叙述正确的是A)程序运行时输出 2010B)程序运行时输出 20C)程序运行时输出 10D)指定的输出宽度不够,编译出错答案:A以下选项中,与 k = n++完全等价的表达式是A)k=n, n=n+1B)n=n+1, k=nC)k = ++nD)k += n+1答案:A以下叙述中错误的是A)在一个程序中,每个模块均可以独立编译运行B)程序“模块化”有利于任务的分解简化C)允许对函数单独进行编译,是 C 语言实现“模块化”的基础D)采用模块化结构,可以提高编程效率答案:A以下叙述中错误的是A) main()是 C 语言主函数的起始行B) main()作为主函数必须位于源程序的起始位置C)main()是 C 程序执行的起始行D)main 是不可替代的主函数名答案:B以下叙述中错误的是A)若用户标识符的命名与预定义标识符相同,则命名无效B)若用户标识符的命名与关键字相同,将产生编译错误C)若用户标识符的命名与预定义标识符相同,则预定义标识符失去原有含义D)若用户标识符的命名与预定义标识符相同,则可能引发运行错误答案:A以下不属于 C 语言整型常量的是A) 0XaB)0LC) -018D)200U答案:C若有如下定义和语句:double x=1.5;x++;则以下叙述中正确的是A)变量 x 经自增 1 运算后的值是 2.5B)x 是实型变量,不可以做自增 1 运算C)变量 x 经自增 1 运算后的值是 1.6D)变量 x 经自增 1 运算后的值是 2.0答案:A设有定义:double x;,以下选项中不能将输入数据 3.14 读入赋给变量 x 的是A) scanf("%4lf",&x);B)scanf("%lf",&x);C)scanf("%le",&x);D) scanf("%4.2f",&x);答案:D以下说法正确的是A)C 语言程序运行时可以从键盘上读入用户输入的字符或数据,并依此改变程序的运行步骤B)C 语言程序运行时可以从键盘上读入用户以二进制输入的指令,并执行这些指令C)C语言程序运行时可以从键盘上读入用户输入的C源程序并逐行执行D)C 语言程序运行时可以从键盘上读入用户输入的 C 源程序并附加到本程序的尾部一并执行答案:A以下说法错误的是A)程序模块化的目的之一是提高程序的执行速度B)程序模块化的目的之一是提高程序编制的效率C)程序模块化的目的之一是提高程序代码复用率D)程序模块化的目的之一是提高调试程序的效率答案:A以下属于 C 语言标识符的是A) 6 6 6B)#6#C)@6@D) 6答案:D以下属于 C 语言实型常量的是A)6e+6B)e6+6C)+6eD).e+6答案:A以下说法正确的是A)赋值语句是一种可执行语句,应当出现在函数的可执行部分B)赋值语句可以出现在函数中的任意位置C)赋值语句可以出现在函数外单独执行D)赋值语句可以出现在源程序中的任意位置答案:A若有程序段char c;scanf("%lf%c", &d, &c);如果想把 2.3 输入给变量 d,字符’f’输入给变量 c,程序运行时正确的输入是A)2.3fB)2.3 fC)2.3’f’D)2.3 ‘f’答案:A以下叙述中正确的是A)循环结构、选择结构、顺序结构是结构化程序的三种基本结构B)计算机能直接运行未经编译的 C 语言程序C)复杂算法不能使用 N-S 流程图来描述D)计算机能够直接处理不超过 20 行源码的简单 C 语言程序答案:A以下叙述中正确的是A) 程序要包含全部基本结构才是结构化程序B) 任何复杂问题都可以使用只包含三种基本结构的算法来解决C)不运行程序是不能发现程序中的语法错误的D)C 语言程序需要包含 MAIN 函数答案:B以下选项中,合法的 C 语言常量是A)1.01C)”\2.0D)2.0Kb答案:A以下选项中,合法的 C 语言实数是A) 0.1e0.1B) .1e0C)E10D)14.12E答案:B设 a、b、c 是已定义的整型变量且已正确赋初值,以下赋值语句中,错误的是A)a = (b = 3) = 1;B)a = (b = 0) + c + 0;C)a = b = c + 0;D)a = 0 + (b = c = 0);答案:A有如下程序#include <stdio.h>main(){int x = 072;printf(">%d<\n", x+1);}程序运行后的输出结果是B)>73<C)>142<D)>073<答案:A若变量已经定义且正确赋值,则针对程序段:temp=a; a=b; b=temp;以下叙述中正确的是A)此段程序是从左至右依次执行B)C 语言的顺序结构不允许将多条语句写在一行里C)此程序段的执行顺序是,先执行 b=temp;,再执行 a=b;,最后执行 temp=a;D)将此段程序的前两个分号改成逗号,后面一个不变,则不能实现a 和 b 中值的交换答案:A设变量 a,b 和 ch 已正确定义并赋初值,则以下叙述中错误的是A)语句 ch=(unsigned int) a+b;是对 a 与 b 之和进行强制类型转换,结果赋值给变量 chB)运算符%的运算对象只能是整数类型C)逗号表达式的值是最后一个表达式的运算结果D)复合运算:a*=b+ch 是将变量 b、ch 之和与 a 相乘,结果再给a 赋值答案:A有如下两个传统流程图(a)和(b):以下关于两个流程图特点的叙述正确的是A) 两个表达式逻辑相同时,流程图功能等价B)语句 2 一定比语句 1 多执行一次C) 语句 2 至少被执行一次D)两个表达式逻辑相反时,流程图功能等价答案:C以下可以正确且安全的用作用户标识符的一组选项是A) Switch, unsignedB) _32int, long64C)Abc, getchD)3break, enter答案:B以下关于运算符"/"的叙述正确的是A)只有其两边运算对象的类型都是整型时,所做运算为整数整除运算B)总是进行双精度除法运算C)总是进行单精度除法运算D)不允许 char 型对象参与运算答案:A若有定义:char ch; int a; double d;,当输入为12345 678910.36 时,以下选项中能给各个变量正确输入数据的是A)scanf("%d%c%lf",&a,&ch,&d);B)scanf("%5d%2c%7.2lf",&a,&ch,&d);C)scanf("%d%c%lf",a,ch,d);D)scanf(“5d%2c%7.2lf%”,&a,&ch,&d);答案:A以下叙述中错误的是A).OBJ 文件和.EXE 文件都是可直接执行的二进制文件B)用户按规定语法编写的 C 程序不是二进制文件C)C 源程序经编译无误后将生成一个 .OBJ 的二进制文件D).OBJ 文件经“连接程序”生成的.EXE 文件是二进制文件答案:A以下关于注释的叙述中错误的是A)注释的边界符号“/”和“/”必须成对出现且可以嵌套B)C 语言允许注释出现在程序中任意合适的地方C)注释的内容仅用于阅读,对程序的运行不起作用D)注释的边界符号“/”和“*”之间不允许加入空格答案:AC 语言常量的类型从字面形式上可区分,以下判断中正确的是A) ‘\025’—字符串B)2E3 —整型C) 2.0E3 —实型D)“a”—字符型答案:C以下选项中,算术表达式的值与其他三个不同的是A)3/5B)3./5C)3/5.D)3.0/5.0答案:A设有定义:int k=3,i=2; 以下选项中,变量 k 的值与其他三个不同的是A) k=–i;B) k=i–;C)k=i-1;D)k-=i;答案:B设有如下语句:int k=0;k=printf(“OK\n”);则以下叙述中正确的是A)变量 k 得到的是输出字符的总个数 3B)变量 k 得到的是输出的可见字符个数 2C)printf 必须作为独立语句出现D)变量 k 仍保持初值 0答案:A以下说法正确的是A)C 语言被称为“高级语言”是因为它用接近人们习惯的自然语言和数学语言作为表达形式,使人们学习和操作起来感到十分方便B)C 语言被称为“高级语言”是因为它能接受和处理由 0 和 1 的代码构成的二进制指令或数据C)C 语言被称为“高级语言”是因为计算机能直接识别并执行由这种语言编写的程序D)C 语言被称为“高级语言”是因为它是用来开发高级软件的语言答案:A以下说法错误的是A) C 语言提供了定义函数的功能B) C 语言提供了定义函数和子程序的功能C)C 语言中没有子程序的概念D)C 语言既有库函数也可以自定义函数答案:B以下是正确 C 语言标识符的是A)8B)8C)8D)-8-答案:A以下是正确 C 语言实型常量的是A) e+8B) +8.8e+8C)+8e.8D).8e+8.答案:B算术运算符和圆括号有不同的运算优先级,对于表达式:a+b+c*(d+e),关于执行顺序,以下说法正确的是A)先执行 a+b 得 r1,再执行(d+e)得 r2,再执行 cr2 得 r3,最后执行 r1+r3 得表达式最后结果B)先执行(d+e)得 r2,再执行 cr2 得 r3,再执行 a+b 得 r1,最后执行 r1+r3 得表达式最后结果C)先执行(d+e)得 r2,再执行 cr2 得 r3,再执行 b+r3 得 r4,最后执行 a+r4 得表达式最后结果D)先执行 a+b 得 r1,再执行 r1+c 得 r5,再执行(d+e)得 r2,最后执行 r5r2 得表达式最后结果答案:A若有程序段:int a,b; char d;scanf("%d%c%d", &a, &d, &b);若想把 12 输入给变量 a,字符’k’输入给变量 d,34 输入给变量 b,程序运行时正确的输入是A) 12’k’34B)12 k 34C) 12k34D)12 ‘k’ 34答案:C以下叙述中正确的是A)一个程序要被称为结构化程序,则只能包含循环结构、选择结构、顺序结构B)C 语言源程序即使不编译,也是可以直接运行的C)使用 N-S 流程图只能描述简单的算法D)复杂算法是指不能分解成子任务的算法答案:A下面说法正确的是A)使用只包含三种基本结构的算法可以求解复杂的问题B)C 语言源程序需要把所有过长的函数保存在单独的源文件中才能通过编译C)有一些特殊的程序语法错误,只有在运行时才能被发现D)一些完成简单任务的 C 语言程序,可以不包含 main()函数答案:A以下选项中,合法的 C 语言常量是A) “C++’B) 9.01C)\0.0”答案:B以下选项中,合法的 C 语言实数是A) .2e1B)3.1e3.1C)E09D)1.23E答案:A设 a,b,c 是整型变量且已正确赋有初值,以下选项中的赋值表达式错误的是A)a = (b = 0) = 8B)a = (b = 1) + c + 1C)a = b = c + 1D)a = 8 + (b = c = 1)答案:A有如下程序#include <stdio.h>main(){int x = 032;printf("%d\n", x);}程序运行后的输出结果是A) 32B) 26D)50答案:B以下叙述正确的是A)对于只包含表达式语句的程序段,执行顺序与书写顺序一致B)C 程序的执行是从源文件的开头,一行一行向下执行,每行都会被执行到C)C 程序的执行一定是从主函数开始,从主函数结束D)每个 C 源文件都应当有一个主函数答案:A以下叙述正确的是A)使用符号\可以将一条#include 命令写在多行里B)#include <stdio.h> 是 C 程序的一条语句C)一个#include 行可以包含多个文件,文件名用逗号分开D)一个#include 行可以包含多个文件,且最后一个文件起作用答案:A以下选项中,合法的 C 语言标识符是A) a-bB)%XC)_test!D) _123答案:D下面不合法的常量数据是A)’\0123321’B)0x3f7b8a90C)’\0x6d’D).023E-5答案:A以下说法正确的是A)复合语句中包含的语句种类没有限制B)复合语句中不能有分支语句C)复合语句中不能有循环语句D)一条复合语句不能超过 50 行答案:A若有定义:int a,b,c;,想通过语句:scanf("%d,%d%d",&a,&b,&c);把 1、2、3 分别输入给变量 a、 b、c,则正确的键盘输入是A)1,23<回车>B)1,2,3<回车>C)1<回车>23D)1<回车>2<回车>3答案:A以下叙述中正确的是A)C 语言既可以用来编写系统软件,又可以用来编写应用软件B)机器中只要安装有任一种编译程序,就能对 C 源程序进行编译C)若程序中不使用 C 语言提供的库函数,则可以不运行连接程序D)调试程序时若发现语法错误,改正后即可直接运行,无需再次编译答案:A以下叙述中正确的是A) 一个正确的算法可以没有输出结果B) 一个正确的算法可以不需要输入数据C)传统流程图使用方便灵活,但无法描述复杂的算法D)N-S 流程图不能用于描述复杂的算法答案:B以下叙述中正确的是A)C 语言标识符的规定长度因系统而异B)C 语言编译系统对标识符的长度没有规定C)C 语言规定标识符长度最多允许 16 个字符,超长报错D)C 语言规定以下划线开头的标识符长度必须大于 1答案:A以下完全正确的一组常量是A)0x0 123.B)01a .12e3C)0.3L 1.2e-1D)-12U 12.E0答案:A与数学式对应的 C 语言表达式是A)(pow(x,2)-pow(y,2))cos(3.141592645/180)B)(pow(2,x)-pow(2,y))cos(3.141592645/180)C)(xx-yy)*cos(45)D)(x2-y2)*cos(45)答案:A设有定义语句:double x=123.456;则语句printf("%6.2f,%3.0f\n",x,x);的输出结果是A) 123.45,123B) 123.46,123C)123.46,123.0D)123.45,123.答案:B以下叙述错误的是A)C 语言中提供了子程序的概念,可以和函数完成一样的功能B)C 语言允许对函数单独进行编译,可以实现模块化C)C 语言提供了丰富的数据类型D)C 语言是结构化程序设计语言,结构化程序由顺序结构、选择结构和循环结构三种基本结构组成答案:A以下不能定义为用户标识符的是A) _B)MainC) sizeofD)_int答案:C以下不能作为合法常量的是A) 1.234e04B) 1.234e0.4C)1.234e+4D)1.234e0答案:B若有定义:int k=7, x=12;,则以下表达式值为 3 的是A)(x %= k) - (k %= 5)B)x %= (k %= 5)C)x %= (k - k % 5)D)x %= k - k % 5答案:A以下有关 scanf 函数的叙述中错误的是A)在 scanf 函数的格式字符前既可以加入正整数指定输入数据所占的宽度,也可以对实数指定小数位的宽度B)scanf 函数有返回值,其值就是本次调用 scanf 函数时正确读入的数据项个数C)scanf 函数从输入字符流中按照格式控制指定的格式解析出相应数据,送到指定地址中D)在 scanf 函数中的格式控制字符串不会输出到屏幕上答案:A有以下程序#include <stdio.h>void main(){double x=3.14159;printf("%f\n", (int)(x*1000+0.5)/(double)1000);}程序运行后的输出结果是A) 3.143000B)3.141000C) 3.142000D)3.140000答案:C以下说法正确的是A)C 语言只接受八进制、十进制、十六进制的数B)C 语言只接受二进制、八进制、十六进制的数C)C 语言只接受二进制、十进制、十六进制的数D)C 语言只接受十进制的数答案:A以下说法正确的是A) 由三种基本结构组成的结构化程序只能解决一些数学上有解析解的问题B)由三种基本结构组成的结构化程序只能解决一些简单的问题C)由三种基本结构组成的结构化程序只能解决那些可以结构化的问题D) 由三种基本结构组成的结构化程序可以解决任何复杂的问题答案:D以下说法正确的是A)C 语言标识符中可以出现多个字母、数字和下划线字符B)C 语言标识符中仅出现下划线字符是不允许的C)C 语言标识符中字母、数字和下划线字符必须同时出现D)C 语言标识符中字母、数字和下划线字符不能同时出现答案:A以下说法正确的是A)C 语言中的常量是指在程序运行过程中其值不能被改变的量B)C 语言中的常量是指在程序运行过程中经常被改变值的量C)C 语言中的常量是指在程序运行过程中经常被用到的变量D)C 语言中的常量是指在程序运行过程中经常被改变数据类型的量答案:A若有定义 float a=12.3f; double b=456.78; 若想用 printf函数输出 a 和 b 的值,关于输出格式,以下说法正确的是A) 只能用%lf 输出 a,用%lf 输出 bB)只能用%f 输出 a,用%lf 输出 bC) 既可以用%f 输出 a,也可以用%f 输出 bD)只能用%lf 输出 a,用%f 输出 b答案:C若有定义:double a; char d; float b;若想把 1.2 输入给变量 a,字符’k’输入给变量 d,3.4 输入给变量 b,程序运行时键盘输入:1.2 k 3.4 <回车>则以下正确的读入语句是A)scanf("%lf %c %f", &a, &d, &b);B)scanf("%lf%c%f", &a, &d, &b);C)scanf("%f %c %f", &a, &d, &b);D)scanf("%f%c%f", &a, &d, &b);答案:A下面叙述中正确的是A)用任何计算机高级语言书写的程序都必须转换为计算机指令序列才能执行B)程序是用纯粹的英文所表示的人们头脑中解决问题或进行计算的步骤C)算法仅仅是用计算机高级语言书写的计算机解题的步骤D)用计算机汇编语言书写的程序是计算机可以直接执行的答案:A下面叙述中错误的是A) C 语言程序是由函数组成的B) C 语言的函数可以直接使用,无需事先定义或声明C)C 语言的函数就是一段程序D)C 语言的函数可以单独编译答案:B若有定义:int a=100;则语句printf("%d%d%d\n",sizeof(“a”),sizeof(a),sizeof(3.14));的输出是A) 328B) 248C)238D)421答案:B若有定义:int a=3,b;,则执行语句:b=(a++,a++,a++);后,变量 a 和 b 的值分别是A)6,5B)8,7C)6,3D)5,6答案:A有以下程序段int a=3,b;b=a+3;{int c=2;a*=c+1;}printf("%d\n",a);下面关于此段程序的说法,正确的是A)这段程序的输出是 9B)这段程序中存在有语法错误的语句C)这段程序的输出是 7D)可执行语句 b=a+3;后,不能再定义变量 c答案:A以下叙述中正确的是A)在 C 语言中,常量名也要遵守标识符的命名规则B)对单目运算符来说,运算对象一定在其右侧C)标识符的首字符必须是下划线、字母,其他字符可以是任意的键盘可键入字符D)变量占用内存,常量不占用内存答案:A下面说法正确的是A)结构化程序的基本结构有三种,分别是循环结构、选择结构和顺序结构B)计算机只能执行顺序结构的 C 语言源程序C)循环结构无法使用 N-S 流程图描述D)一般称含有 20 条以内语句的算法为简单算法,超过 20 条则不可能是简单算法答案:A下面说法正确的是A) 任何函数只能有一种基本结构B)MAIN()函数是每一个 C 语言程序必须定义的C) 任何复杂问题都可以只使用三种基本结构来解决D)只要程序使用基本结构编写,运行时就不会出错答案:C以下选项中,合法的 C 语言常量是A) C++’B) 1.0C)"\0.\0D)2B答案:B以下选项中,合法的 C 语言实数是A).9E0B)E22C)0.41ED).8e0.01答案:A设 a,b,c 是整型变量,以下选项中的赋值表达式错误的是A)a = 1 = (b = 1) = 1B)a = (b = 0) * (c + 0)C)a = b = c * 0D)a = 1 % (b = c == 9) + 46答案:A有如下程序#include <stdio.h>main(){char *msg = “Hello”;int x = 012;printf("%s,X=%d.\n", msg, x+1);}程序运行后的输出结果是A) He,X=13.B) Hello,X=11.C)HelX=121.D)Hello,X=013.答案:B以下说法正确的是A)C 语言只接受八进制、十进制、十六进制的数B)C 语言只接受十进制的数C)C 语言接受除二进制之外任何进制的数D)C 语言接受任何进制的数答案:A以下说法错误的是A)由三种基本结构组成的结构化程序不能解决过于复杂的问题B)由三种基本结构组成的结构化程序能解决一些简单的问题C)由三种基本结构组成的结构化程序能解决递归问题D)由三种基本结构组成的结构化程序能解决数学上有解析解的问题答案:A以下说法错误的是A)C 语言标识符必须以字母开头B)C 语言标识符中下划线字符可以出现在任意位置C)C 语言标识符不能全部由数字组成D)C 语言标识符中可以有多个字母、数字和下划线字符答案:A以下说法错误的是A)C 语言中的常量是指在程序运行过程中经常被用到的变量B)C 语言中的常量是指在程序运行过程中其值不能被改变的量C)C 语言中的常量可以用一个符号名来代表D)C 语言中的常量可以用宏来定义答案:A若有定义: int a=1234, b=-5678; 用语句 printf("%±6d%±6d",a,b); 输出,以下正确的输出结果是A) 1234 -5678 (中间有两个空格,最后有一个空格)B) +1234 -5678 (最前面有一个空格,中间有一个空格)C)±1234±5678 (最前面和最后均无空格)D) +1234 -5678 (中三间有一个空格,最后有一个空格)答案:D若有定义:double a; float b; short c;若想把 1.2 输入给变量 a,3.4 输入给变量 b,5678 输入给变量 c,程序运行时键盘输入:1.2 3.4 5678<回车>则以下正确的读入语句是A)scanf("%lf%f%hd", &a, &b, &c);B)scanf("%lf%lf%hd", &a, &b, &c);C)scanf("%lf%lf%d", &a, &b, &c);D)scanf("%f%f%d", &a, &b, &c);答案:A一个算法应当具有五个特性,以下叙述中正确的是A)有穷性、确定性、可行性、有零个或多个输入、有一个或多个输出B)有穷性、确定性、复杂性、有零个或多个输入、有一个或多个输出C)有穷性、确定性、可行性、必须要有一个以上的输入、有一个或多个输出D)有穷性、确定性、复杂性、有零个或多个输入、必须要多个输出答案:A以下不能定义为用户标识符的是A) VoidB)scanfC) intD)3com答案:C以下不能作为合法常量的是A)‘cd’B)1.234e04C)"\a"D)’\011’答案:A若有定义:int a=1, b=2, c=3, d=4, m=2, n=2;,则执行(m=a>b) && (n=c>d)后 n 的值是A)3B)2C)4D)1答案:B有说明语句:int a,b;,如果输入 111222333,使得 a 的值为111,b 的值为 333,则以下正确的语句是A)scanf("%3d%*3c%3d", &a, &b);B)scanf("%*3d%3c%3d", &a, &b);C)scanf("%3d%3d%*3d", &a, &b);D)scanf("%3d%*2d%3d", &a, &b);答案:A有以下程序#include <stdio.h>void main(){double x = 2.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);}程序运行后的输出结果是A) 0.250000B)0.000000C) 0.500000D)1.000000答案:C以下叙述中错误的是A)用 C 语言编写的是机器语言程序B)用高级语言编写的程序称为“源程序”C)由编译器编译生成的二进制代码称为“目标程序”D)由三种基本结构构成的程序是结构化程序答案:A以下合法的用户标识符是A)12315B)2xC)m$D)I-max答案:A以下定义变量 i、j、k 并赋初值的语句,正确的是A)int i=0,j=0,k=0;B)int i=0;j=0;k=0;C)int i=j=k=0;D)int i=0;j=i;k=j;答案:A以下叙述中错误的是A) 无符号整数不可以是负数B)整型变量不能存放实数C) 实型变量可以精确存放整数D)负整数在内存中以“补码”形式存放答案:C若有定义语句:int a=2;,则以下表达式值不等于 3 的是A)a=a++B)a=a+1C)a+=1D)a=++a答案:A设有定义:double x=5.1012;,若要求只输出 x 的整数部分,以下不能实现此要求的语句是A) printf ( " x=%1.0lf\n",x);B)printf ( " x=%2.0f\n",x);C)printf ( " x=%.0f\n",x);D) printf ( " x=%2d\n",x);答案:D有以下程序(字母 A 的 ASCII 代码为 65)#include <stdio.h>main(){char c1 = ‘A’, c2 = ‘Y’;printf("%d, %d\n", c1, c2 );}程序运行后的输出结果是A) A, YB) 65, 89C)65, 90D)输出格式不合法,输出出错信息答案:B若变量已正确定义,则以下 for 循环for ( x=0,y=0; ( y!=123 ) && ( x<4 ); x++ );A)执行 4 次B)执行 3 次C)执行次数不确定D)执行 123 次答案:A。

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

第一章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_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程序是由()。

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 编译程序是( )。

A .C 程序的机器语言版本B .一组机器语言指令C .将C 源程序编译成目标程序D .由制造厂家提供的一套应用软件14.以下选项中,合法的用户标识符是( )。

A .longB ._2abcC .3dmaxD .A.dat15.以下选项中,合法的实型常数是( )。

A .5E2.0B .E-3C .2E0D .1.3E16.已知大写字母A 的ASCII 码值是65, 小写字母a 的ASCII 码是97,则用八进制表示的字符常量’\101’是( )。

A .字符AB .字符aC .字符cD .非法的常量17.以下选项中, 合法转义字符的选项是( )。

A .’\\’B .’\018’C .’xab ’D .’\abc ’18.以下选项中,正确的字符常量是( )。

A .”F ”B .’\\’’C .’W ’D .’’19.以下选项中可作为C 语言合法整数的是A .10110B B .0386C .0XffaD .x2a220.下列变量定义中合法的是A .short _a=1-.le-1;B .double b=1+5e2.5;C .long do=0xfdaL;D .float 2_and=1-e-3;21.与数学式子129 x x n对应的C 语言表达式是( )。

A .9*x^n/(2*x-1) B .9*x**n/(2*x-1)C .9*pow(x,n)*(1/(2*x-1))D .9*pow(n,x)/(2*x-1)22.若有代数式cdab 3,则不正确的C 语言表达式是( )。

A .a/c/d*b*3 B .3*a*b/c/dC .3*a*b/c*dD .a*b/d/c*323.已知各变量的类型说明如下:int m=8,n, a, b;unsigned long w=10;double x=3.14, y=0.12;则以下符合C 语言语法的表达式是( )。

A .a+=a-=(b=2)*(a=8)B . n=n*3=18C .x%3D .y=float (m)24.以下符合C 语言语法的赋值表达式是( )。

A .a=9+b+c=d+9B .a=(9+b, c=d+9)C .a=9+b, b++, c+9D .a=9+b++=c+925. 已知字母A 的ASCII 码为十进制数65,且S 为字符型,则执行语句S=’A ’+’6’-’3’;后,S 中的值为( )。

A .’D ’B .68C .不确定的值D .’C ’26.在C 语言中,要求运算数必须是整型的运算符是( )。

A ./B .++C .*=D .%27.若有说明语句:char s=’\72’;则变量s ( )。

A.包含一个字符B.包含两个字符C.包含三个字符D.说明不合法,s的值不确定28.若有定义:int m=7; float x=2.5, y=4.7; 则表达式x+m%3*(int)(x+y)%2/4的值是()。

A.2.500000 B.2.750000 C.3.500000 D.0.00000029.在C语言中,char型数据在内存中的存储形式是()。

A.补码B.反码C.原码D.ASCII码30.设变量x为float类型,m为int类型,则以下能实现将x中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()。

A.x=(x*100+0.5)/100.0B.m=x*100+0.5, x=m/100.0C.x=x*100+0.5/100.0D.x=(x/100+0.5)*100.031.表达式13/3*sqrt(16.0)/8的数据类型是()。

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

A.(m=n=6, m+n, m+1)B.(m=n=6, m+n, n+1)C.(m=6, m+1, n=6, m+n)D.(m=6, m+1, n=m, n+1)33.假设所有变量均为整型,则表达式(x=2, y=5, y++, x+y)的值是()。

A.7 B.8 C.6 D.234.已知s是字符型变量,下面不正确的赋值语句是()。

A.s=’\012’; B.s= ’u+v’;C.s=’1’+’2’; D.s=1+2;35.已知s是字符型变量,下面正确的赋值语句是()。

A.s=’abc’; B.s=’\08’;C.s=’\xde’; D.s=”\”;36.若有以下定义,则正确的赋值语句是()。

int x,y;float z;A.x=1,y=2, B.x=y=100C.x++; D.x=int (z);37.设x、y均为float型变量,则不正确的赋值语句是()。

A.++x ; B.x*=y-2;C.y=(x%3)/10; D.x=y=0;38.下列语句中符合C语言的赋值语句是()。

A.a=7+b+c=a+7; B.a=7+b++=a+7;C.a=7+b,b++,a+7 D.a=7+b,c=a+7;39.putchar函数可以向终端输出一个()。

A.整型变量表达式值。

B.字符串C.实型变量值。

D.字符或字符型变量值。

40.以下程序段的输出结果是( )。

int a=12345; printf(”%2d\n”, a);A.12 B.34 C.12345 D.提示出错、无结果41.若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);D。

scanf(”%x%o%6.2f”, &x,&y,&z);42.有如下程序段:int x1,x2;char y1,y2;scanf(”%d%c%d%c”,&x1,&y1,&x2,&y2);若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是()。

(注:└┘代表空格)A.10A└┘20B B.10└┘A20BC.10 └┘A└┘20└┘ B D.10A20└┘B43.若变量已正确说明为float类型,要通过语句scanf(”%f %f%f”, &a, &b, &c);给a赋予10.0,b赋予22.0,c赋予33.0,不正确的输入形式为()。

A.10<回车> B.10.0,22.0,33.0<回车> 22<回车>33C.10.0<回车> D.10 22<回车>22.0 33.0<回车> 33<回车>44.有如下程序,若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是()。

(注:└┘代表空格)int x1,x2;char y1,y2;scanf(”%d%d”,&x1,&x2);scanf(”%c%c”, &y1,&y2);A.1020AB B.10└┘20└┘ABCC.10└┘20 D.10└┘20ABAB45.已有定义int a=-2;和输出语句:printf(”%8lx”,a);以下正确的叙述是()。

A.整型变量的输出格式符只有%d一种B.%x是格式符的一种,它可以适用于任何一种类型的数据C.%x是格式符D.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度46.有如下程序段,对应正确的数据输入是()。

float x,y;scanf(”%f%f”, &x,&y);printf(”a=%f,b=%f”, x,y);A.2.04<回车> B.2.04,5.67<回车>5.67<回车>C.A=2.04,B=5.67<回车> D.2.055.67<回车>47.有如下程序段,从键盘输入数据的正确形式应是()。

(注:└┘代表空格)float x,y,z;scanf(“x=%d,y=%d,z=%d”,&a,&y,&z);A.123 B.x=1,y=2,z=3C.1,2,3 D.x=1└┘ y=2└┘ z=348.以下说法正确的是()。

A.输入项可以为一个实型常量,如scanf(”%f”,3.5);B.只有格式控制,没有输入项,也能进行正确输入,如scanf(”a=%d,b=5d”);C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(”%4.2f”,&f);D.当输入数据时,必须指明变量的地址,如scanf(”%f”,&f);49.根据定义和数据的输入方式,输入语句的正确形式为:()。

相关文档
最新文档