C语言初级测试题(十)
郑州航空工业管理学院往年计算机C语言测试卷及答案
计算机C语言测试卷得分评卷人一、单项选择题(共20题,每题2分,共计40分)()1、若变量a、i已正确定义,且i已正确赋值合法的语句是________。
A、a==1B、++iC、a=a++=5D、a=int(i)()2、执行下列语句后,i和n的值为________。
int i=10; int n=i++%5;A、10,OB、10,1C、11,0D、11,1()3、若有定义char w; int x; float y; double z; 则表达式w*x+z-y值的数据类型为 。A、floatB、charC、intD、double()4、c语言对嵌套if语句的规定是:else总是与( ) 。A、其之前最近的if配对B、其之前最近的且尚未配对的if配对C、缩进位置相同的if配对D、第一个if配对()5、语句 for(k=0;k<5;++k){if(k== 3) continue;printf("%d",k);}的输出结果为______A、012B、0124C、01234D、没有输出结果()6、以下函数按每行8个输出数组中的数据void fun( int *w, int n){int i;for(i=0;i<n;i++){________ printf("%d",w[i]);}printf("\n");}下列划线处应填入的语句是________。
A、if(i/8==0)printf(“\n”);B、if(i/8==0)continue;C、if(i%8==0)printf(“\n”);D、if(i%8==0)continue;()7、下列数中为八进制的是______。
A、27B、0x25C、026D、028()8、若有定义:int c[4][5],(*cp)[5]; 和语句cp=c; ,则能正确引用c数组元素的是________。
A、cp+1B、*(cp+3)C、*(cp+1)+3D、*(*cp+2)()9、若已有定义语句:inta,b, c; 且变量已正确赋初值,则以下选项中正确的赋值语句是________。
C语言基础练习题(含答案)Word版
目录第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语言编程10题及答案
计算机系C语言编程10题及答案1)/* 输入10个数,分别统计其中正数、负数、零的个数。
*/#include "stdio.h"#define N 10main(){int i,zsum=0,fsum=0,lsum=0;float x;for(i=1;i<=N;i++){printf("请输入第%d个数:",i);scanf("%f",&x);if(x>0)zsum++;else if(x==0)lsum++;elsefsum++;}printf("有%d个正数,%d个负数,%d个零",zsum,fsum,lsum);}2)/* 先随机产生N个三位自然数输出,然后再输出其中同时是3、5、7倍数的数。
(设N为100)*/ #include "stdio.h"#include "stdlib.h"#include "time.h"#define N 100main(){int i,x;randomize();for(i=1;i<=N;i++){x=random(900)+100;printf("%d\t",x);if(x%3==0&&x%5==0&&x%7==0)printf("\n*%d*\n",x);}}3)/* 计算:1/2-2/3+3/4-4/5……,前100项和*/#include "stdio.h"main(){int i,t=1;float sum=0;for(i=1;i<=100;i++){sum=sum+(t*i*1.0)/(i+1);t=-t;}printf("%f",sum);}4)/* 打印出所有的"水仙花数",所谓"水仙花数"是指一个3位数,其各位数字立方之和等于该数本身*/#include "stdio.h"#include "math.h"main(){int i,gw,sw,bw;for(i=100;i<=999;i++)gw=i%10;sw=i/10%10;bw=i/100%10;if(i==pow(gw,3)+pow(sw,3)+pow(bw,3))printf("%d\n",i);}}5)/* 把100~200之间的不能被3整除的数输出。
十分基础的c语言考试题及答案
十分基础的c语言考试题及答案1. 写出C语言中定义一个结构体的语法。
答案:在C语言中,定义一个结构体的语法如下:```cstruct 结构体名 {类型成员1;类型成员2;...类型成员n;};```其中,`类型`可以是任意合法的数据类型,`成员1`到`成员n`是结构体的成员变量。
2. 如何在C语言中声明一个函数?答案:在C语言中,声明一个函数的语法如下:```c返回类型函数名(参数类型1 参数名1, 参数类型2 参数名2, ...); ```其中,`返回类型`是函数执行完毕后返回的数据类型,`函数名`是函数的标识符,`参数类型`和`参数名`分别表示函数参数的类型和名称。
3. 请写出C语言中数组的声明方式。
答案:在C语言中,数组的声明方式如下:```c类型数组名[数组大小];```或者```c类型数组名[] = {初值1, 初值2, ..., 初值n};```其中,`类型`是数组元素的数据类型,`数组名`是数组的标识符,`数组大小`是数组中元素的数量,`初值1`到`初值n`是数组的初始值。
4. 解释C语言中的指针是什么。
答案:C语言中的指针是一种变量,它存储了另一个变量的内存地址。
指针可以用于访问和操作内存中的数据,提高程序的效率和灵活性。
5. 如何在C语言中使用条件语句?答案:在C语言中,使用条件语句的语法如下:```cif (条件表达式) {// 当条件表达式为真时执行的代码} else {// 当条件表达式为假时执行的代码}```其中,`条件表达式`是一个返回布尔值的表达式,如果表达式的值为真(非零),则执行`if`块内的代码;否则,执行`else`块内的代码。
6. 请写出C语言中循环结构的语法。
答案:C语言中有两种基本的循环结构:`for`循环和`while`循环。
`for`循环的语法如下:```cfor (初始化表达式; 循环条件; 步进表达式) {// 循环体}````while`循环的语法如下:```cwhile (循环条件) {// 循环体}```其中,`初始化表达式`用于初始化循环变量,`循环条件`是一个返回布尔值的表达式,`步进表达式`用于更新循环变量。
C语言测试题(附有详细解析)
C语言测试题(附有详细解析)一、选择题1. 以下哪个选项是C语言的关键字?A. ifB. sizeofC. structD. include解析:C语言中,关键字是指被C语言本身定义的具有特定意义的单词。
选项A的`if`是关键字,用于条件判断;选项C的`struct`是关键字,用于定义结构体;选项D的`include`实际上是预处理指令的一部分,不属于关键字。
选项B的`sizeof`是运算符,用于计算数据类型或变量的大小。
因此,正确答案是A、C。
2. 在C语言中,以下哪个选项表示整型变量?A. charB. intC. floatD. double解析:在C语言中,`int`类型用于存储整数。
选项A 的`char`用于存储字符;选项C的`float`和选项D的`double`用于存储浮点数。
因此,正确答案是B。
3. 以下哪个选项表示逻辑运算符?A. `++`B. `--`C. `&&`D. `%`解析:逻辑运算符用于连接多个条件表达式,包括与运算符`&&`、或运算符`||`和非运算符`!`。
选项C的`&&`是逻辑与运算符。
选项A的`++`和选项B的`--`是算术运算符,用于自增和自减;选项D的`%`是取模运算符。
因此,正确答案是C。
二、填空题1. 在C语言中,定义一个整型变量`a`并赋值为10的代码是______。
解析:定义整型变量`a`并赋值为10的代码如下:```cint a = 10;```2. 以下代码的输出结果是______。
```c#include <stdio.h>int main() {int x = 5;printf("%d\n", x++ + ++x);return 0;}```解析:在C语言中,`x++`是先使用x的值,然后x自增1;`++x`是先x自增1,然后使用x的值。
因此,`x++ + ++x`的执行过程如下:- `x++`,此时x的值为5,输出5;- `++x`,此时x的值为6,输出6;- 最终输出结果为11。
C语言基础学习知识测试卷试题全面完整
适用文档基础知识测试题一.单项选择题1.以下不正确的C语言表记符是(D )A. ABCB.abcC.2.以下正确的C语言表记符是( C )A. %xB.a+bC.a123D.test !3.一个 C语言程序的履行是从( A )。
A. main( )函数开始,直到main( )函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main( ) 函数开始,直到最后一函数结束4.在 C语言程序中, main(C ) 的地点()。
A.一定作为第一个函数B.一定作为最后一个函数C.随意D.一定放在它所调用的函数以后5.一个 C语言程序是由( B )。
A.一个主程序和若干个子程序构成B.一个或多个函数构成C.若干过程构成D.若干子程序构成6. C语言源程序的基本单位是(B)。
A. 过程B. 函数C. 子程序D. 表记符7.编写程序的功能是( A )。
A.成立并改正程序C.将 C源程序编译成目标程序D.调试程序E.命令计算机履行指定的操作8. C编译程序是(D)。
A.C语言程序的机器语言版本B.一组机器语言指 .D.将 C源程序编译成目标程序的程序F.由制造厂家供给的一套应用软件B9. 不属于字符型常量的是( D )A.'A'B."B"C.'\n'D.'\x72'10 . 设char ch;以下正确的赋值语句是:(B)A.ch='123';B.ch='\xff';C.ch='\08';D.ch="\";11 . 以下使 i 的运算结果为 4的表达式是( D )A.int i=0,j=0;(i=3,(j++)+i);.1 / 3B.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;A12 . 若 t 为 double 种类,表达式t=1,t+5,t++的值是(D)C13. 设整型变量 m,n,a,b,c,d均为1,履行“(m=a>b)&&(n=a>b)”后m,n的值是(B)A.0,0B.0,1C.1,0D.1,1B14 . 履行语句“x=(a=3,b=a--)”后, x,a,b 的值挨次为( CA.3,3,2B.3,2,2C.3,2,3D.2,3,2B15 . 若 a=1,b=2,c=3,d=4,则条件表达式 a<b?a:a<d?c:d 的值为( A)16. 设int n=7; 则 ++n+1= =9 的结果是( C )17. 设a=2,b=2; 则 ++a+b的结果是(d), a的结果是(b), b的结果是(a)18. 设a=2, 则履行 b=a==!a; 语句后, b的结果是( A )19 . 设有以下语句,则c的二进制值是()char a=3,b=6,c;c=a^b<<2;20 . 在C语言种类说明中,int 、 char 、 short 等种类的长度是(A)A. 固定的B.由用户自己定义的C.随意的D.与机器字的长度相关的二.填空题1. C语言中的表记符只好由三种字符构成,它们是、、。
c基础考试题及答案
c基础考试题及答案1. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable-nameC. variable$nameD. variable_name答案:D2. 在C语言中,哪个关键字用于声明一个函数?A. defineB. functionC. voidD. int答案:C3. C语言中,用于定义一个整型变量的关键字是什么?A. intB. integerC. numberD. long答案:A4. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -D. /答案:A5. 若有以下C语言代码段:```cint a = 10;int b = 20;int c = a + b;```则变量c的值是多少?A. 10B. 20C. 30D. 40答案:C6. C语言中,哪个函数用于计算并返回一个字符串的长度?A. strlen()B. length()C. size()D. length_str()答案:A7. 在C语言中,以下哪个选项不是控制语句?A. ifB. switchC. while答案:B8. 在C语言中,以下哪个选项是正确的数组声明?A. int numbers[];B. int numbers[10];C. int numbers[10] = {1, 2, 3};D. All of the above答案:D9. C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. copystr()C. str_copy()D. string_copy()答案:A10. 若有以下C语言代码段:```cchar str[] = "Hello, World!";printf("%c", str[0]);```则输出结果是什么?A. HB. eC. lD. !答案:A。
大一学生c语言考试题及答案
大一学生c语言考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x123B. 123.0C. 0123D. 0x12.3答案:A2. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 下列哪个运算符不能用于数组?A. []B. +C. *D. /答案:D4. 在C语言中,以下哪个选项不是控制语句?A. ifC. forD. sizeof答案:D5. 若有定义:int a=5; float b=2.5; 则表达式 a%b 的值是多少?A. 0B. 0.0C. 2D. 编译错误答案:D6. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A7. 下列哪个选项是正确的C语言变量声明?A. int $a;B. int _a;C. int 2b;D. int a-b;答案:B8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?B. strncpy()C. strcat()D. strcmp()答案:A9. C语言中,以下哪个选项不是标准输入输出库函数?A. printf()B. scanf()C. fgets()D. malloc()答案:D10. 若有定义:int a=10; 则执行语句 a+=a*=a; 后,变量a的值是多少?A. 100B. 200C. 1000D. 0答案:A二、填空题(每题2分,共20分)1. 在C语言中,字符常量可以用单引号括起来,例如 'A','1',' ' 等,其中 ' ' 表示______。
答案:空格2. C语言中,若要声明一个指向整型的指针变量,可以使用以下语法:int *______;答案:p3. 在C语言中,若要声明一个具有10个元素的整型数组,可以使用以下语法:int ______[10];答案:arr4. 在C语言中,若要声明一个函数,该函数返回整型值,并且接受两个整型参数,可以使用以下语法:int ______(int a, int b);答案:func5. 在C语言中,若要声明一个结构体变量,可以使用以下语法:struct ______ st;答案:StructType6. 在C语言中,若要声明一个枚举类型,可以使用以下语法:enum ______ {E1, E2, E3};答案:EnumType7. 在C语言中,若要声明一个联合体变量,可以使用以下语法:union ______ u;答案:UnionType8. 在C语言中,若要声明一个浮点型数组,可以使用以下语法:float ______[5];答案:arr9. 在C语言中,若要声明一个二维数组,可以使用以下语法:int ______[3][4];答案:arr10. 在C语言中,若要声明一个具有10个元素的字符数组,可以使用以下语法:char ______[10];答案:str三、简答题(每题10分,共20分)1. 请简述C语言中数组和指针的区别。
c语言试卷集(10套)-试题及答案
c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。
A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。
A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。
A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。
A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。
C语言测试题(附有详细解析)
C语言测试题(附有详细解析)一、选择题1. 下面哪个选项是C语言的合法标识符?A. voidB. 2varC. intD. _temperature解析:C语言的标识符必须以字母或下划线开头,后面可以跟字母、数字或下划线。
选项A和C是C语言的关键字,不能作为标识符。
选项B以数字开头,不合法。
选项D符合标识符的规则,是正确的。
2. 在C语言中,哪个关键字用于定义整型变量?A. floatB. intC. doubleD. char解析:在C语言中,关键字`int`用于定义整型变量。
选项A 用于定义浮点型变量,选项C用于定义双精度浮点型变量,选项D用于定义字符型变量。
因此,正确答案是B。
3. 下面哪个选项是C语言中的逻辑运算符?A.++B. &&C. ||D. !=解析:C语言中的逻辑运算符包括`&&`(逻辑与)和`||`(逻辑或)。
选项A是自增运算符,选项D是不等于运算符,因此正确答案是B和C。
二、填空题4. 下面代码的输出是什么?```c#include <stdio.h>int main() {int x = 5;printf("%d\n", x++);return 0;}```解析:这段代码的输出是5。
在`printf`语句中,`x++`是后缀自增运算符,它先输出x的当前值5,然后x的值增加1。
因此,输出为5。
5. 下面代码的输出是什么?```c#include <stdio.h>int main() {int x = 5, y = 10;printf("%d\n", x > y ? x : y);return 0;}```解析:这段代码的输出是10。
条件运算符`?:`是一个三元运算符,它根据第一个表达式的值来选择第二个或第三个表达式。
在这个例子中,`x > y`是假的,所以输出是`y`的值,即10。
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=13 C) 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) 248、下面程序的输出是___________.#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、以下程序的输出结果是________.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 910、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是_______.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值11、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是________.A) 1,19 B) -1,19 C) 1,17 D) -1,1712、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是_________.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1113、若已定义int a,则表达式a=10,a+10,a++的值是___.A) 20 B) 10 C) 21 D) 1114、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是________.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4515、下面程序的输出结果是________.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,316、下面程序的输出结果是_______.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,017、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是_________.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1018、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_________.A) 2.4 B) 2.5 C) 2.75 D) 019、设有以下语句:int x=10;x+=3+x%3,则x的值是._________A) 14 B) 15 C) 11 D) 12 20、若d为double型变量,则表达式d=1,d+5,d++的值是_______.A) 1 B) 6.0 C) 2.0 D) 1.021、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值__________.A) 0 B) 1 C) 12 D) 622、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是____.A) 0 B) 2 C) 1.5 D) 123、在C语言中,以下叙述不正确的是________.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用24、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是________.A) 10<a<15 B) a==11||a==12||a==13||a==14 C) a>10&&a<15 D) !(a<=10)&&!(a>=15)25、如果c为字符型变量,判断c是否为空格不能使用________.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')26、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是________.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1027、执行下面程序后,运行结果是________.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=128、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是______.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值29、运行下面程序时,从键盘输入字母H,则输出结果是________.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!Bye_Bye!30、执行下列程序段后的输出结果是_________.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A) 3 B) 2 C) 1 D) 431、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是_____.A) Z B) a C) z D) A32、下面程序的输出结果是________.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 033、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是_______.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 2034、下列程序的执行结果是_________.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1 D) 3,135、能够完成如下函数计算的程序段是______.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;36、以下程序的执行结果是________.#include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break;}case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird37、以下程序的执行结果是________.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 2538、下列程序执行后的输出结果是________.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息39、有如下程序#include <stdio.h>void main( ){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是__________.A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=240、下面程序的输出结果是_________.#include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 041、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序段执行后,m的值是_________.A) 4 B) 3 C) 2 D) 142、以下程序的输出结果是_________.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 143、若执行下面的程序从键盘上输入9,则输出结果是.______________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 844、以下程序段运行结果是________.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C) 4 D) 不确定的值45、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是________.A) 2,1 B) 3,2 C) 4,3 D) 2,-146、运行下面程序时,若从键盘输入数据为"123",则输出结果是_______.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,147、执行下列程序后的输出结果是_______.#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 148、以下条件表达式中能完全等价于条件表达式if(x)中的x 的是____.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)49、若运行下面程序时,给变量a输入15,则输出结果是______.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 1050、执行下面程序的输出结果是________.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####51、为了避免嵌套的if-else语句的二义性,C语言规定else总是与______组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if52、以下程序段__________.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误53、对下面程序段描述正确的是_______.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次54、下面程序段的输出结果是_______.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环D)输出错误信息55、下面程序的运行结果是_______.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,956、下面程序段的运行结果是__________.int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息57、下面程序段的运行结果是________.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8 D)8,2058、下面程序的运行结果是________.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 659、下面程序段的运行结果是________.for(x=10;x>3;x--){ if(x%3) x--;--x; --x;printf("%d ",x);}A) 6 3 B) 7 4 C) 6 2 D) 7 3 60、下面程序的运行结果是________.#include<stdio.h>void main( ){ int a,b;a=-1;b=0;do {++a;++a;b+=a;} while(a<9);printf("%d\n",b);}A) 34 B) 24 C) 26 D) 2561、下面程序段的运行结果是___________.for(i=1;i<=5;)printf("%d",i);i++;A) 12345 B) 1234 C) 15 D) 无限循环62、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int n=4;while (n--) printf("%d ",n--);}A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 063、以下程序运行后的输出结果是________.#include<stdio.h>void main(){ int i=10,j=0;do{ j=j+1; i--;}while(i>2);printf("%d\n",j);}A) 50 B) 52 C) 51 D) 864、有如下程序#include<stdio.h>void main(){ int x=23;do{ printf("%d",x--);}while(!x);}该程序的执行结果是_______A) 321 B) 23C) 不输出任何内容D) 陷入死循环65、以下程序段的执行结果是_______.int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf("%d\n",m);A) 12 B) 15 C) 20 D) 2566、下面程序的输出结果是___________.#include<stdio.h>void main( ){ int i;for(i=1;i<6;i++){ if (i%2!=0) {printf("#");continue;}printf("*");}printf("\n");}A) #*#*# B) ##### C) ***** D) *#*#*67、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d %d ",x--,y);}A) 10 1 9 2 B) 9 8 7 6C) 10 9 9 0 D) 10 10 9 168、执行以下程序后,输出的结果是__________.#include<stdio.h>void main( ){ int y=10;do {y--;}while (--y);printf("%d\n",y--);}A) -1 B) 1C) 8D) 069、有如下程序#include<stdio.h>void main( ){ int n=9;while(n>6) {n--;printf("%d",n);}} 该程序段的输出结果是__________.A) 987 B) 876 C) 8765 D) 987670、有如下程序#include<stdio.h>void main( ){ int i,sum=0;for(i=1;i<=3;sum++) sum+=i;printf("%d\n",sum);}该程序的执行结果是___________.A) 6 B) 3 C) 死循环D) 071、以下循环体的执行次数是_______#include<stdio.h>void main( ){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);}A) 3 B) 2 C) 1 D) 072、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为________.#include <stdio.h>void main( ){ char ch;while ((ch=getchar( ))!='\n'){ if (ch>='A' && ch<='Z') ch=ch+32;else if (ch>='a' && ch<'z') ch=ch-32;printf("%c",ch);}printf("\n");}A) ABCdef B) abcDEF C) abc D) DEF73、下面程序的输出结果是__________.main( ){int i,k=0, a=0, b=0;for(i=1;i<=4;i++){k++;if (k%2==0) {a=a+k; continue;}b=b+k;a=a+k;}printf("k=%d a=%d b=%d\n",k,a,b);}A) k=5 a=10 b=4 B) k=3 a=6 b=4C) k=4 a=10 b=3 D) k=4 a=10 b=474、执行下面程序段后,k的值是_________.int i,j,k;for(i=0,j=10;i<j;i++,j--)k=i+j;A) 9 B) 11 C) 8 D) 1075、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。
大一计算机c语言考试题及答案
大一计算机c语言考试题及答案一、选择题(每题2分,共10分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言的标准输入输出函数?A. printfB. scanfC. coutD. getchar答案:C3. 在C语言中,以下哪个选项是正确的字符串定义?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = {"Hello"};D. char str[] = {H, e, l, l, o, '\0'};答案:A4. 下列哪个选项是C语言中的合法整数?A. 012B. 0x1AC. 0.1D. 0xG答案:B5. 在C语言中,以下哪个选项是正确的数组定义?A. int a[5] = {0, 1, 2, 3, 4};B. int a[] = {0, 1, 2, 3, 4};C. int a[5] = {0, 1, 2};D. int a[] = {0};答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个函数的关键字是______。
答案:void2. 在C语言中,表示逻辑与的运算符是______。
答案:&&3. C语言中,用于定义一个字符常量的是______。
答案:''4. C语言中,用于定义一个整型变量的关键字是______。
答案:int5. 在C语言中,用于定义一个指针变量的关键字是______。
答案:*三、简答题(每题5分,共20分)1. 简述C语言中变量的作用域。
答案:变量的作用域是指变量可以被访问的代码区域。
局部变量的作用域是定义它的函数或代码块,全局变量的作用域是整个程序。
2. 解释C语言中的指针是什么?答案:指针是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语言考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A3. 如果`int a = 10;`,那么表达式`a++`的值是多少?A. 9B. 10C. 11D. 无法确定答案:B4. 在C语言中,哪个运算符用于计算两个整数的最小公倍数?A. %B. /C. %D. &答案:无(C语言标准库中没有直接计算最小公倍数的运算符)5. 下列哪个不是C语言中合法的变量名?A. _myVarB. classC. 3thingsD. var-name答案:C6. C语言中,哪个函数用于将浮点数转换为整数?A. float()B. double()C. int()D. char()答案:C7. 在C语言中,`printf`函数的返回类型是什么?A. voidB. intC. floatD. char答案:B8. 下列哪个是C语言的预处理指令?A. scanfB. printfC. #includeD. main答案:C9. C语言中,`break`语句的作用是什么?A. 退出整个程序B. 退出当前的循环C. 继续下一次循环D. 结束当前的switch分支答案:B10. 在C语言中,`sizeof`运算符返回的是什么?A. 数组中元素的个数B. 变量所占的字节数C. 变量的值D. 变量的地址答案:B二、填空题(每题2分,共20分)11. C语言中,用于声明函数的关键字是________。
答案:void12. 当一个变量的值需要在函数之间共享时,可以使用________关键字。
答案:static13. 在C语言中,`NULL`代表的是________。
答案:空指针14. `for`循环的一般形式是:for(________; ________; ________)答案:初始化表达式;条件表达式;步进表达式15. 在C语言中,`&`运算符用于获取变量的________。
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语言程序基础练习题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语言基础测试题一、C语言的源程序文件扩展名通常是什么?A. .txtB. .exeC. .cD. .java(答案)C二、以下哪个是C语言中的标准输入输出库?A. math.hB. string.hC. stdio.hD. stdlib.h(答案)C三、在C语言中,int类型数据通常占用多少个字节?A. 1B. 2C. 4D. 8(答案)C(注:这取决于具体系统和编译器,但在大多数现代系统上,int通常是4个字节)四、以下哪个是C语言中的逻辑与运算符?A. &B. &&C. |D. ||(答案)B五、在C语言中,如何表示一个常量字符串?A. 使用单引号括起来,如'hello'B. 使用双引号括起来,如"hello"C. 使用花括号括起来,如{hello}D. 使用方括号括起来,如[hello](答案)B六、以下哪个是C语言中的循环结构?A. if-elseB. switch-caseC. forD. while-do-while(注:此选项表述不严谨,但为保持原意,选择最接近的答案)(答案)C(注:实际上D也是循环结构的一种,但C是更直接且无误的答案)七、在C语言中,数组名表示什么?A. 数组的首地址B. 数组的第一个元素C. 数组的长度D. 数组的类型(答案)A八、以下哪个是C语言中的条件运算符?A. ?:B. ||C. &&D. !(答案)A九、在C语言中,如何定义一个指向整型变量的指针?A. int p;B. int p;C. *int p;D. int * p;(答案)A(注:D也是正确的,但在C语言中,通常更推荐使用A这种紧凑的格式)十、以下哪个是C语言中的标准输出函数?A. scanf()B. printf()C. getchar()D. putchar()(答案)B。
c语言入门试题
c语言入门试题C语言入门试题一、选择题1. C语言中,用于表示整数常量的关键字是()。
A. floatB. doubleC. intD. char2. 下列哪个选项是C语言中的合法标识符?()A. 2nd_valueB. first-valueC. _firstValueD. -last_one3. 在C语言中,一个字符常量由什么包围?()。
A. 单引号B. 双引号C. 大括号D. 方括号4. 下列哪个选项是C语言中的逻辑真值?()。
A. TB. FC. TRUED. true5. 在C语言中,用于动态分配内存空间的函数是()。
A. mallocB. freeC. callocD. realloc二、填空题1. C语言程序的基本组成单位是______,每个C语言程序至少包含一个______。
2. 在C语言中,用______定义一个整型变量,用______定义一个浮点型变量。
3. C语言中的循环结构包括for循环、while循环和______。
4. 一个C语言函数由两部分组成,分别是______和______。
5. 在C语言中,用______语句可以实现程序的分支选择。
三、判断题1. C语言中的注释可以用“//”和“/* */”两种方式。
()2. 在C语言中,所有的语句必须以分号“;”结尾。
()3. C语言中,数组的下标是从1开始的。
()4. 函数不能嵌套定义,但可以嵌套调用。
()5. 指针变量的值是内存地址,因此它必须通过使用&运算符来初始化。
()四、编程题1. 编写一个C语言程序,输入一个整数,判断并输出该整数是否为偶数。
2. 编写一个C语言程序,实现两个整数的交换,并输出交换后的结果。
3. 编写一个C语言程序,计算并输出一个整数数组中所有元素的和。
五、简答题1. 简述C语言的基本数据类型有哪些?2. 解释局部变量和全局变量的区别。
3. 什么是函数?请举例说明函数的声明和定义。
4. 请解释指针的概念,并说明如何声明一个指针变量。
c语言基础知识试题
c语言基础知识试题1. 下面哪个不是C语言的关键字?A. intB. floatC. caseD. printf2. 在C语言中,下列哪个符号表示逻辑与操作?A. &&B. ||C. !D. &3. 下面哪个选项是正确的C语言注释的格式?A. /* 单行注释 */B. // 单行注释C. <!-- 单行注释 -->D. <!-- 多行注释 -->4. C语言中,以下哪个函数可以用于从标准输入读取一个字符?A. getchar()B. puts()C. scanf()D. printf()5. 在C语言中,下面哪个选项用于声明一个整型变量?A. var myVar;B. int myVar;C. myVar = 5;D. myVar;6. 在C语言中,用于输出到屏幕的函数是?A. puts()B. scanf()C. getchar()D. printf()7. 下面哪个选项用于定义一个常量?A. varB. constC. staticD. volatile8. 在C语言中,以下哪个运算符用于获取变量的地址?B. &C. $D. #9. 下面哪个选项正确地表示C语言中的条件语句的语法?A. if (condition) { statement }B. if [condition] then { statement }C. if { condition } do { statement }D. if (condition) then { statement }10. C语言中的for循环的语法是?A. for (initialization; condition; update) { statement }B. for (condition; initialization; update) { statement }C. for (update; condition; initialization) { statement }D. for { initialization; condition; update } { statement }11. 在C语言中,下面哪个选项用于终止当前循环,并开始下一次循环的迭代?A. breakB. continueC. return12. 以下哪个库函数可用于生成随机数?A. random()B. rand()C. randomize()D. srand()13. 下列代码段的输出结果是什么?```cint x = 10;if (x > 5) {printf("大于5\n");} else if (x < 5) {printf("小于5\n");} else {printf("等于5\n");}```A. 大于5B. 小于5C. 等于5D. 以上都不对14. 在C语言中,下面哪个选项可用于交换两个变量的值?A. swap(a, b);B. exchange(a, b);C. temp = a; a = b; b = temp;D. a = b; b = a;15. 在C语言中,下面哪个选项可用于判断一个数是否为奇数?A. odd()B. isOdd()C. is_odd()D. (num % 2 == 1)以上是一些关于C语言基础知识的试题,希望能够帮助你巩固自己的知识。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.系统的标准数入文件是指( )。
A. 键盘
B. 显示器
C. 软盘
D. 硬盘
2.若执行fopen函数时发生错误,则函数的返回值是( )。
A. 地址值
B.0
C. 1
D. E OF
3.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件 方式字符串应是( )。
A. "ab+"
B. "wb+"
C. "rb+"
D. "ab" 4.fscanf函数的正确调用形式是( )。
A. f scanf(fp,格式字符串,输出表列)
B. f scanf(格式字符串,输出表列,fp);
C. f scanf(格式字符串,文件指针,输出表列);
D. f scanf(文件指针,格式字符串,输入表列);
5.fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是( )。
A. 只写
B. 追加
C. 读或读写
D. 答案b和c都正确 6.函数调用语句:fseek(fp,-‐20L,2);的含义是( )
A. 将文件位置指针移到距离文件头20个字节处
B. 将文件位置指针从当前位置向后移动20个字节
C. 将文件位置指针从文件末尾处后退20个字节
D. 将文件位置指针移到离当前位置20个字节处
7.利用fseek函数可实现的操作( )。
A. f seek(文件类型指针,起始点,位移量);
B. f seek(fp,位移量,起始点);
C. f seek(位移量,起始点,fp);
D. f seek(起始点,位移量,文件类型指针);
8.在执行fopen函数时,ferror函数的初值是( )。
A. T URE
B. -‐1
C. 1
D. 0
9.标准库函数fgets(s,n,f)的功能是()。
A. 从文件f中读取长度为n的字符串存入指针s所指的内存
B. 从文件f中读取长度不超过n-1的字符串存入指针s所指的内存
C. 从文件f中读取n个字符串存入指针s所指的内存
D. 从文件f中读取长度为n-1的字符串存入指针s所指的内存
10.在 C中,对文件的存取以()为单位。
A. 记录
B. 字节
C. 元素
D. 簇
11.下面的变量表示文件指针变量的是()。
A. FILE *fp
B. FILE fp
C. FILER *fp
D. file *fp
12.在 C中,下面对文件的叙述正确的是()。
A. 用“r”方式打开的文件只能向文件写数据
B. 用“R”方式也可以打开文件
C. 用“w”方式打开的文件只能用于向文件写数据,且该文件可以不存在
D. 用“a”方式可以打开不存在的文件
13.在C中,当文件指针变fp已指向“文件结束”,则函数feof(fp)的值是()。
A. .t.
B. .F.
C. 0
D. 1
14.在C中,系统自动定义了3个文件指针stdin,stdout和stderr分别指向终端输入、终端输出和标准出错输出,则函数fputc(ch,stdout)的功能是()。
A. 从键盘输入一个字符给字符变量ch
B. 在屏幕上输出字符变量ch的值
C. 将字符变量的值写入文件stdout中
D. 将字符变量ch的值赋给stdout
15.下面程序段的功能是()。
#include <stdio.h>
main()
{
char s1;
s1=putc(getc(stdin),stdout);
}
A. 从键盘输入一个字符给字符变量s1
B. 从键盘输入一个字符,然后再输出到屏幕
C. 从键盘输入一个字符,然后在输出到屏幕的同时赋给变量s1
D. 在屏幕上输出stdout的值
16.在 C中,常用如下方法打开一个文件
if((fp=fopen("file1.c","r" ))==NULL)
{
printf("cannot open this file \n");
exit(0);
}
其中函数exit(0)的作用是()。
A. 退出C环境
B. 退出所在的复合语句
C. 当文件不能正常打开时,关闭所有的文件,并终止正在调用的过程
D. 当文件正常打开时,终止正在调用的过程
17.执行如下程序段
#include <stdio.h>
FILE *fp;
fp=fopen("file","w" );
则磁盘上生成的文件的全名是()。
A. file
B. file.c
C. file.dat
D. file.txt
18.在内存与磁盘频繁交换数据的情况下,对磁盘文件的读写最好使用的函数是()。
A. fscanF,fprintf
B. fread,fwrite
C. getc,putc
D. putchar,getchar
19.在C中若按照数据的格式划分,文件可分为()。
A. 程序文件和数据文件
B. 磁盘文件和设备文件
C. 二进制文件和文本文件
D. 顺序文件和随机文件
20.若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof(fp)
的返回值是()。
A. EOF
B. -1
C. 非零值
D. NULL
21.在C中,缓冲文件系统是指()。
A. 缓冲区是由用户自己申请的
B. 缓冲区是由系统自动建立的
D. 缓冲区是根据文件的大小决定的 D. 缓冲区是根据内存的大小决定的
22.在C中,文件型指针是()。
A. 一种字符型的指针变量
B. 一种结构型的指针变量
C. 一种共用型的指针变量
D. 一种枚举型的指针变量
23.在C中,标准输出设备是指()。
A. 键盘
B. 鼠标
C. 硬盘
D. 光笔
24.在C中,标准输出设备和标准错误输出设备是指显示器,它们对应的指针名分别为( C )。
A. stdin,stdio
B. STDOUT,STDERR
C. stdout,stderr
D. stderr,stdout
25.在C中,所有的磁盘文件在操作前都必须打开,打开文件函数的调用格式为: fopen(文件名,文件操作方式);
其中文件名是要打开的文件的全名,它可以是:()。
A. 字符变量名、字符串常量、字符数组名
B. 字符常量、字符串变量、指向字符串的指针变量
C. 字符串常量、存放字符串的字符数组名、指向字符串的指针变量
D. 字符数组名、文件的主名、字符串变量名
26.在C中,打开文件的程序段中正确的是()。
A. #include <stdio.h>
B. #include <stdio.h>
FILE *fp; FILE fp;
fp=fopen("file1.c","WB"); fp=fopen("file1.c","w");
C. #include <stdio.h>
D. #include <string.h>
FILE *fp; FILE *fp;
fp=fopen("file1.c","w"); fp=fopen("file1.c","w");
27.在C中,打开文件时,选用的文件操作方式为"wb",则下列说法中错误的是()。
A. 要打开的文件必须存在
B. 要打开的文件可以不存在
C. 打开文件后可以读取数据
D. 要打开的文件是二进制文件
28.在C中,如果要打开C盘一级目录ccw下,名为“ccw.dat”的二进制文件用于读和追加写,则调用打开文件函数的格式为()。
A. fopen("c:\ccw\ccw.dat","ab")
B. fopen("c:\ccw.dat","ab +")
C. fopen("c:ccw\ccw.dat","ab+")
D. fopen("c:\ccw\ccw.dat","ab+")
29.在C中,假设文件型指针fp已经指向可写的磁盘文件,并且正确执行了函数调用fputc('A',fp),则该次调用后函数返回的值是()。
A. 字符'A'或整数65
B. 符号常量EOF
C. 整数1
D. 整数-1
30.以下函数,一般情况下,功能相同的是()。
A. fputc和putchar
B. fwrite和fputc
C. fread和fgetc
D. putc和fputc。