C语言考习题库
C语言全部考试系统题库含答案

目录目录 (1)单元练习题一 C语言基础知识 (3)一、判断题 (3)二、单项选择题 (4)三、读程序选择题 (7)四、程序填空题 (8)五、编程题...................................... 错误!未定义书签。
单元练习题二 C语言程序结构.. (9)一、判断题 (9)二、单项选择题 (9)三、读程序选择题............................. 错误!未定义书签。
四、程序填空题 (17)五、编程题................................... 错误!未定义书签。
单元练习题三数组.. (21)一、判断题 (21)二、单项选择题 (22)三、读程序选择题................................ 错误!未定义书签。
四、程序填空题 (28)五、编程题...................................... 错误!未定义书签。
单元练习题四函数.. (33)一、判断题 (33)二、单项选择题 (34)三、读程序选择题 (40)四、程序填空题.................................. 错误!未定义书签。
五、编程题...................................... 错误!未定义书签。
单元练习题五预处理................................. 错误!未定义书签。
一、判断题................................... 错误!未定义书签。
二、单项选择题............................... 错误!未定义书签。
三、读程序选择题................................ 错误!未定义书签。
四、程序填空题.................................. 错误!未定义书签。
c语言大一期末考试题库及详解答案

c语言大一期末考试题库及详解答案C语言大一期末考试题库及详解答案一、选择题1. 下列哪个选项是C语言的关键字?A. IntegerB. StringC. FloatD. None of the above答案:D2. 在C语言中,定义一个整型变量的正确语法是什么?A. int var;B. var int;C. integer var;D. var integer;答案:A3. 以下哪个表达式的结果不是整数?A. 3 / 2B. 7 % 3C. 10 / 2D. 8 / 2答案:A二、填空题1. 在C语言中,用于定义数组的关键字是________。
答案:Array2. 一个C语言程序的执行从________函数开始。
答案:main3. 以下语句的输出结果是________。
```cint a = 5, b = 10;printf("%d", a + b);```答案:15三、简答题1. 简述C语言中指针的概念及其用途。
答案:指针是C语言中用来存储变量地址的变量。
它允许程序员直接访问内存地址,从而可以动态地操作内存。
指针的用途包括动态内存分配、实现数据结构如链表、数组的遍历等。
2. 解释C语言中的函数重载。
答案:C语言不支持函数重载。
在C语言中,如果两个或多个函数具有相同的名称但参数列表不同,编译器会报错。
这是与支持函数重载的语言(如C++)的主要区别。
四、编程题1. 编写一个C语言程序,实现计算并输出1到100的整数之和。
```c#include <stdio.h>int main() {int sum = 0, i;for(i = 1; i <= 100; i++) {sum += i;}printf("The sum of numbers from 1 to 100 is: %d\n", sum);return 0;}```2. 编写一个C语言函数,实现字符串反转的功能。
C语言试题库(完整版)

C语言试题库(完整版)C语言试题库一、单项选择第一章 C语言概述1) 一个C程序的执行是从本程序的MAIN函数开始,到MAIN函数结束。
2) 以下叙述正确的是:一个C源程序可由一个或多个函数组成。
3) C语言规定,在一个源程序中,MAIN主函数的位置可以在任意位置。
4) 一个C程序是由函数组成。
5) 以下叙述不正确的是:在C程序中,注释说明只能位于一条语句的后面。
第二章数据类型、运算符与表达式1) 若x。
i。
j。
k都是int型变量,则计算下面表达式后,x的值为x=52.2) 下列四组选项中,均不是C语言键字的选项是:define。
IF。
type。
3) 下面四个选项中,均是不合法的用户标识符的选项是:1a0.b-a。
XXX。
4) 若有代数式3ae/bc,则正确的C语言表达式是:3*a*e/b*c。
5) 已知各变量的类型说明如下:int k。
a。
b。
unsigned long w=5.double x=1.42.则以下不符合C语言语法的表达式是:x%(-3)。
第三章简单C程序设计C语言试题库一、单项选择第一章 C语言概述1.一个C程序的执行是从本程序的MAIN函数开始,到MAIN函数结束。
2.以下叙述正确的是:一个C源程序可由一个或多个函数组成。
3.C语言规定,在一个源程序中,MAIN主函数的位置可以在任意位置。
4.一个C程序是由函数组成。
5.以下叙述不正确的是:在C程序中,注释说明只能位于一条语句的后面。
第二章数据类型、运算符与表达式1.若x。
i。
j。
k都是int型变量,则计算下面表达式后,x的值为x=52.2.下列四组选项中,均不是C语言关键字的选项是:define。
IF。
type。
3.下面四个选项中,均是不合法的用户标识符的选项是:1a0.b-a。
XXX。
4.若有代数式3ae/bc,则正确的C语言表达式是:3*a*e/b*c。
5.已知各变量的类型说明如下:int k。
a。
b。
unsignedlong w=5.double x=1.42.则以下不符合C语言语法的表达式是:x%(-3)。
c语言期末考试题库

习题一一、选择题1.C语言是一种(C )。
A。
低级语言 B. 汇编语言C。
高级语言 D. 机器语言2.以下不是C语言的特点的是( D )。
A. 语言简洁紧凑B. 可以直接对硬件进行操作C. 数据类型丰富D。
是面向对象的程序设计语言3.一个C程序的执行是从( A )。
A。
本程序的main函数开始,到main函数结束B。
本函数的第一个数开始,到本程序文件的最后一个函数结束C。
本程序的main函数开始,到本程序文件的最后一个函数结束D。
本函数的第一个数开始,到本程序main函数结束4.以下叙述正确的是(C )。
A。
在C程序中,main函数必须位于程序的最前面B。
C程序的每行只能写一条语句C。
C语言的本身没有输入输出语句D. 在对一个C程序进行编译的过程中,可以发现注释中的拼写错误5.以下叙述不正确的是(D )。
A. 一个C源程序可由一个或多个函数组成B. 一个C源程序必须包括一个main函数C。
C程序的基本组成单位是函数D。
在C程序中,注释说明只能位于一条语句的后面6.C语言规定:在一个源程序中,main函数的位置( C ).A。
必须在最开始B。
必须在系统调用的库函数的后面C。
可以任意D。
必须在最后7.一个C语言程序是由( B )。
A. 一个主程序和若干子程序组成B。
函数组成C. 若干过程组成D. 若干子程序组成8.以下叙述中正确的是( C )。
A. C程序的基本组成单位是语句B。
C程序中的每一行只能写一条语句C。
C语句必须以分号结束D。
C语言必须在一行内写完9.以下叙述中正确的是( C )。
A。
C程序中的注释只能出现在程序的开始位置和语句的后面B。
C程序书写格式严格,要求一行内只能写一个语句C。
C程序书写格式自由,一个语句可以写在多行上D. 用C语言编写的程序只能放在一个程序文件中10.以下叙述中正确的是( C )。
A. C语言程序将从源程序中第一个函数开始执行B. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C。
c语言大一期末考试题库及详解答案

c语言大一期末考试题库及详解答案C语言大一期末考试题库及详解答案一、选择题1. 下列哪个选项是C语言中的合法标识符?A. 3aB. intC. _aD. float答案:C2. C语言中,哪个关键字用于定义一个函数?A. ifB. whileC. functionD. void答案:D3. 在C语言中,以下哪个语句可以用于输入数据?A. scanf()B. printf()C. coutD. cin答案:A二、填空题1. 在C语言中,______关键字用于声明一个变量的存储类型。
答案:static2. 一个C语言程序的执行从______函数开始。
答案:main3. 在C语言中,______运算符用于计算两个数的乘积。
答案:*三、简答题1. 简述C语言中数组的定义和初始化方式。
答案:在C语言中,数组是一种基本的数据结构,用于存储相同数据类型的多个元素。
数组的定义格式为:类型名数组名[常量表达式];其中类型名是数组元素的数据类型,数组名是数组的标识符,常量表达式是数组的元素个数。
数组的初始化可以使用花括号{}将初始值包围起来,例如:int arr[5] = {1, 2, 3, 4, 5}。
2. 描述C语言中的指针和引用的区别。
答案:C语言中的指针是一个变量,它存储了另一个变量的内存地址。
指针可以被重新赋值为其他地址,并且可以进行算术运算。
引用在C语言中不存在,但在C++中,引用是别名,它为另一个已存在的变量提供了另一个名字。
引用一旦被初始化后,不能被重新赋值为其他变量的引用,也不能进行算术运算。
四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和。
答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现对一个字符串进行反转。
c语言考试题库

单选:1.以下程序的输出结果是(C)#include <>main(){int i;for(i = 1; i < 5; i++){if(i % 2)putchar('<');elsecontinue;putchar('>');}putchar ('#');}A、< > < > < > #B、> < > < #C、< > < > #D、> < > < > < #2.设j和k都是int类型,则for循环语句for(j=0,k=-1;k=1;j++,k++) printf("****\n");(B)。
A、循环体一次也不执行B、是无限循环C、循环结束的条件不合法D、循环体只执行一次3. 以下叙述正确的是(B)。
A、do-while语句构成的循环不能用其它语句构成的循环来代替.B、用do-while语句构成的循环,在while后的表达式为零时结束循环C、用do-while语句构成的循环,在while后的表达式为非零时结束循环.D、do-while语句构成的循环只能用break语句退出.4. 有以下程序(A)main(){ int i;for(i=0; i<3; i++)switch(i){ case 1: printf("%d", i);case 2: printf("%d", i);default : printf("%d", i);}}执行后输出结果是A、011122B、120C、012020D、0125.执行下面的程序段后,变量k中的值为(D)int k=3, s[2];s[0]=k; k=s[1]*10;A、33B、10C、30D、不定值6. 以下程序中,若第一个printf语句输出的是194,则第二个printf语句的输出结果是(A)main(){ int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};printf("%x\n", a);printf("%x\n", a + 9);}A、212B、204C、1a4D、1a67. 以下程序段的输出结果为(B)。
全国计算机二级考试c语言题库及答案
全国计算机二级考试c语言题库及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 以下哪个选项是C语言中的关键字?A. intB. IntegerC. INTD. int_答案:A3. 在C语言中,一个整型变量占用的字节数是多少?A. 1B. 2C. 4D. 8答案:C4. 下列哪个函数用于计算两个数的和?A. max()B. pow()C. sqrt()D. sum()答案:D5. 在C语言中,以下哪个选项表示逻辑“与”操作?A. &&B. ||C. !D. |答案:A6. 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 = {1, 2, 3, 4, 5};答案:B7. 在C语言中,以下哪个选项用于声明一个指向整型的指针?A. int *p;B. int *p[];C. int (*p)[];D. int *p[5];答案:A8. 下列哪个选项是C语言中的字符串字面量?A. "Hello"B. 'Hello'C. "Hello'"D. 'Hello'答案:A9. 在C语言中,以下哪个选项用于定义一个结构体?A. struct Student {int id;char name[20];};B. struct Student student;C. Student student;D. int Student;答案:A10. 在C语言中,以下哪个选项用于声明一个函数?A. int add(int a, int b);B. int add();C. int add(int, int);D. int add(int a, b);答案:A二、填空题(每题2分,共10分)1. 在C语言中,使用________关键字可以定义一个无限循环。
C语言考试题库及答案精编
1、下面程序的输出是___D _________#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、在下列选项中, 不正确的赋值语句是__D _______ .A) ++t; B) n1=(n2=(n3=0)); D) 15、 C 语言提供的合法的数据类型关键字是_____ B _____ .A) Double B) short C) integer D) Char6、字符(char) 型数据在微机内存中的存储形式是__D__.A) 反码B) 补码C) EBCDIC 码D)ASCII 码7、C语言程序的基本单位是______ C ________ .A)程序行B) 语句C) 函数D) 字符8、设int a=12, 则执行完语句a+=a-=a*a 后,a的值是DA) 552 B) 264 C) 144D) -2649、执行下面程序中的输出语句后, 输出结果是__ B__.C) k=i=j; D) a=b+c=1;3、下面合法的 C 语言字符常量是_______ A _____ .A) '\t' B) "A" C) 65D) A4、表达式: 10!=9 的值是___ ____ D _____ .A) true B) 非零值C) 0#include<stdio.h>void main(){int a;}ch1='A'+'5'-'3';A) 65 B) 20 C) 15 ch2='A'+'6'-'3';D) 10 printf("%d,%c\n",ch1,ch2);10、下面程序的输出是 ____ B______________________________}#include<stdio.h> A) 67,D B) B,C C) C,D D) 不void main()确定的值{int x=023; 13、若要求在if 后一对圆括号中表示 a 不printf("%d\n",--x); 等于0 的关系, 则能正确表示这一关系的表}达式为D__.A) 17 B) 18 C) 23 A) a<>0 B) !a C) a=0D) 24 D) a11、下面程序的输出的是 ______ C__ 14、以下程序的输出结果是_____ D _______ .#include<stdio.h> #include<stdio.h>void main() void main(){int x=10,y=3; { int x=10,y=10;printf("%d\n",y=x/y); printf("%d %d\n",x--,--y);}}A) 0 B) 1 C) 3 D) 不A) 10 10 B) 9 9 C) 9 10确定的值D) 10 912、已知字母 A 的ASCII 码为十进制的65, 15、设有如下定义: 下面程序的输出是______ A ______ . int x=10,y=3,z;#include<stdio.h> 则语句printf("%d\n",(a=3*5,a*4,a+5)); {char ch1,ch2;的输出结果是_____ D______A) 1 B) 0 C) 4D) 316、为表示关系x> y >乙应使用C语言表达式___A___.A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)C) (x>=y>=z) D) (x>=y) &(y>=z)17 、 C 语言中非空的基本数据类型包括____ B _____A) 整型, 实型,逻辑型B) 整型,实型, 字符型C)整型,字符型,逻辑型D)整型,实型,逻辑型,字符型18 、若x 和y 都是int 型变量,x=100,y=200, 且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是_____ A___.A) 200 B) 100C) 100 200 D) 输出格式符不够, 输出不确定的值19 、阅读下面的程序void main(){char ch;scanf("%3c",&ch);printf("%c",ch);}如果从键盘上输入abc< 回车> 则程序的运行结果是__A ___________________________A) a B) b C) c D) 序语法出错20、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9; printf("%d,%d",i-j,i+j);}则程序的运行结果是____ D___ A) 1,19 B) -1,19 C) 1,17D) -1,17#include<stdio.h> 21 、阅读下面的程序#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);}程序的运行结果是______ C _____ .A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1122、已知a=12, 则表达式a+=a-=a*=a 的结果是________ A__.A) 0 B) 144 C) 12D) -26423 、若已定义int a, 则表达式a=10,a+10,a++ 的值是__B_.A) 20 B) 10 C) 21D) 1124、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是__ _D _____ .A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是______ D ____ .#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,2D) 0,0,326、下面程序的输出结果是______ A ____ .#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;A) 2.4 B) 2.5 C) 2.75printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,027、执行下面程序段后,输出结果是 A .int a; int b=65536;a=b;printf("%d\n",a);A) 65536 B) 0 C) -1D) 128、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是___ B ______ .A) 10,10,10 B) 8,16,10 C) 8,10,10D) 8,8,1029、已知有double 型变量x=2.5,y=4.7, 整型变量a=7,则表达式x+a%3*(int)(x+y)%2/4 的值是 B .D) 030、若已定义x 和y 是整型变量,x=2;, 则表达式y=2.75+x/2 的值是_____ C _____________ .A) 5.5 B) 5 C) 3 D) 4.031、以下程序的输出结果是_____ D _____ .#include<stdio.h>void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10D) 11,1332、设有以下语句:int x=10;x+=3+x%(3),则x 的值是. ___ A ______A) 14 B) 15 C) 11D) 1233、若 d 为double 型变量, 则表达式d=1,d+5,d++ 的值是_____ D__.A) 1 B) 6.0 C) 2.0D) 1.034、表达式5!=3 的值是_____ D _____ .A) T B) 非零值C) 0 B) 必须为下划线C) 必须为字母或下划线D) 135、若有定义int a=12,n=5, 则表达式D) 可以是字母, 数字或下划线中的任意一a%=(n%2运算后,a的值 A . 种A) 0 B) 1 C) 12 39、设有说明:char w; int x; float y;D) 6 double z; 则表达式: w*x+z-y 值的数据类36 、若有定义int x=3,y=2 和float 型是___D ______ .a=2.5,b=3.5, 则表达A) float B) char C) int式:(x+y)%2+(int)a/(int)b 的值是_D_. D) doubleA) 0 B) 2 C) 1.5 40、一个C语言的执行是从___A ________ .D) 1 A) 本程序的主函数开始, 到本程序的主函37、在 C 语言中, 以下叙述不正确的是数结束______ A ____ . B) 本程序的第一个函数开始到本程序的A)在C程序中,无论是整数还是实数,都能最后一个函数结束被准确无误的表示C) 本程序的主函数开始, 到本程序的最后B) 在 C 程序中, 变量名代表存储器中的一一个函数结束个位置D) 本程序的第一个函数开始到本程序的C) 静态变量的生存期与整个程序的生存期主函数结束相同41、设 a 为整型变量, 不能正确表达数学关D) C 语言中变量必须先定义后引用系10<a<15的C语言表达式是_____ A ____ .38、C 语言中的变量名只能由字母, 数字和A) 10<a<15 B) 下划线三种字符组成, 且第一个字符a==11||a==12||a==13||a==14____ C _____ . C) a>10&&a<1542 、下列程序执行后的输出结果是__ C _____ .#include <stdio.h> void main( ){ int a=5,b=60,c;if (a<b){c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}A) 60/5=12 B) 300 C) 60*5=300D) 1243、如果 c 为字符型变量,判断 c 是否为空格不能使用 _ A ____ .( 假设已知空格ASCII 码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c=='')44、运行下面程序时,若从键盘输入"3,5<CR>" ,则程序的输出结果是D ____ .void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y) printf("x==y");else if (x>y) printf("x>y");elseprintf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45、运行下面程序时,若从键盘输入数据为"6,5,7<CR>" ,则输出结果是______ C___. #include <stdio.h>void main( ){ int a,b,c;scanf("%d,%d,%d",&a,&b,&c);if (a>b)if (a>c)printf("%d\n",a);elseelseif (b>c)printf("%d\n",b);elseprintf("%d\n",c);}A) 5 B) 6 C) 7 D)不定值46、执行下面程序时, 若从键盘输入"2<CR>",贝y程序的运行结果是 A .#include <stdio.h>void mai n(){ 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) 1D) 1047、运行下面程序时, 从键盘输入"2.0<CR>",则输出结果是—B ____________ .#include <stdio.h>void main( ){ float a,b;scanf("%f",&a);if (a<0.0) b=0.0;else if ((a<0.5) && (a!=2.0))b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;else b=10.0;printf("%f\n",b);}A) 0.000000 B) 0.500000C) 1.000000 D) 0.25000048、执行下面程序后, 运行结果是____ A _____ .#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}D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>" ,则输出结果是___A___.#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) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是_______ C___.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch)morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!GoodMorning!C) Hello! D) Hello!Good morning!Bye_Bye!Bye_Bye!51、执行下列程序段后的输出结果是 A .int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A) 3 B) 2 C) 1D) 452、设ch是char型变量,值为'A,则表达式ch=(ch>='A' && chv二'Z')?ch+32:ch 的值是__B___.A) Z B) a C) z53、下面程序的输出结果是_____ C ____ .#include <stdio.h> void main( )A) y=41 B) y=43 C) y=42 case 'G':printf("Good{ 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) 9D) 054、运行下面程序时, 若从键盘输入"5 <CR>",则程序的输出结果是_____________ B—.#include <stdio.h> void main( ) { int a ;scanf("%d",&a);if (a++>5)printf("%d\n",a); elseprintf("%d\n",a--) ;}A) 7 B) 6 C) 5D) 455、运行下面程序时,若从键盘输入"3 ,4 #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) 2056、下列程序的执行结果是_____ D _____ . #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,1D) 3,157、假定等级和分数有以下对应关系:等级:A 分数:85〜100对于等级grade 输出相应的分数区间,能够完成该功能的程序段是____ D______ .A) switch (grade){case 'A':printf("85--100\n");case 'B':printf("60--84\n");case C:printf("60 以下\n"); default:printf(" 等级错误!\n");}B)switch (grade){case'A':printf("85--100\n");break;case 'B':printf("60--84\n");case C:printf("60 以下\n"); default:printf(" 等级错误!\n");}C)switch (grade){case'A':printf("85--100\n");break;case'B':printf("60--84\n");break;default:printf(" 等级错误!\n");}D)switch (grade){case'A':printf("85--100\n");break;case'B':printf("60--84\n");break;case 'C':printf("60 以下\n");break;default:printf(" 等级错误!\n");}58、能够完成如下函数计算的程序段是__B .厂-1y= T 0L1A) y=1;if(x!=0)y=1;if(x>0) y=1;else y=0;等级:C 分数:60以下case 'C':printf("60 以下\n");x<0x=0x>0B) if (x>=0)if(x>0)y=1;if (x>0) y=1; else y=0;else y=-1;59、有如下程序#include <stdio.h> void main( ){ float x=5.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); }该程序的输出结果是____ C _______ .A) 0.000000 B) 0.50000C) 0.200000 D) 1.00000060、以下程序的执行结果是___B _________ #include <stdio.h>void main( ) { int x=1,y=0;switch (x){case 1:case0:printf("first\n");break;case1:printf("second\n");break;}case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird61、以下程序的执行结果是_____ A #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;if (x>=0) if (x>0) switch (y)printf("d=%d\n",d);}A)d=20 B) d=10 C) d=15 D) 2562、有如下程序:#include <stdio.h> void main( ){ int a=2,b=-1,c=2;if (a<b)if (b<0) c=0;else c++; printf("%d\n",c);} 该程序的输出结果是___C ____ .A)0 B) 1 C) 2D) 363 、下列程序执行后的输出结果是____ B .#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) 出错信息64、有如下程序#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) a=2,b=1 B) a=1,b=1 C) a=1,b=0D) a=2,b=265、下面程序的输出结果是_____ C ______ #include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10D) 869、 以下程序输出结果是 ____ D_ #include <stdio.h> void main( ) { int m=4;if (++m>5) printf("%d\n",m--); else printf("%d\n",--m); } A) 7 B) 6 D) 470、 若执行下面的程序从键盘上输入 输出结果是 .#include <stdio.h> void main( ) {int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);#include <stdio.h>elseprintf("%d %d\n",b,a); }A) -1 1 B) 0 1 C) 1 0 D)0 066、 假定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 的值是 _______D _______ .A) 4 B) 3 C) 2 D) 167、 以下程序的输出结果是 ___D __________ . 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) 168、 若执行下面的程序从键盘上输入9, 则输出结果是 . _______B___________C) 9C) 55,则else printf("%d\n",x--);}A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是 _____ A _____ . int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C) 4 D) 不确定的值72、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是___ A _____ .A) 2,1 B) 3,2 C) 4,3D) 2,-173、运行下面程序时,若从键盘输入数据为"123" ,则输出结果是___Cvoid 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);}}#include "stdio.h"74 、 执 行 下 列 程 序 后 的 输 出 结 果 是 ___D __ .#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) 2D) 1 75、以下条件表达式中能完全等价于条件表 达式 x 的是 B___.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)76、若运行下面程序时 , 给变量 a 输入 15, 则输出结果是 ___A___.#include <stdio.h> void main( ) { int a,b; scanf("%d",&a); b=a>15?a+10:a-10; printf("%d\n",b) ; }性,C 语言规定else 总是与_C —成配77、运行下面程序后 , 输出是 __#include <stdio.h> void main( ) { int k=-3;if (k<=0) printf("****\n"); else printf("####\n") } A) #### B) **** C) ####****D) 有语法错误不能通过编译 78、执行下面程序的输出结果是#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) 输出 ####79、为了避免嵌套的 if-else____ C _____语句的二义 10对关系.A)缩排位置相同的ifB)在其之前未配对的ifC)在其之前尚未配对的最近的ifD)同一行上的if80、设x 、y 、z 、t 均为int 型变量, 则执行以下语句后,t 的值为____ C _______ .x=y=z=1;t=++x || ++y && ++z;A) 不定值B) 4 C) 1D) 081、以下程序段___ C _________ .x=-1;do{x=x*x;} while (!x);A) 是死循环B) 循环执行两次C) 循环执行一次D) 有语法错误82、对下面程序段描述正确的是___B _________int x=0,s=0;while (!x!=0) s+=++x; printf("%d",s);A)运行程序段后输出0B)运行程序段后输出 1 C)程序段中的控制表达式是非法的D)程序段循环无数次83、下面程序段的输出结果是 _____ C______ .x=3;do { y=x--;if (!y){printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环D) 输出错误信息84、下面程序的运行结果是 _____ B _____ .#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,-1D) 4,985、下面程序段的运行结果是 _____ B_______int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息86、下面程序段的运行结果是___D __________ int x=0,y=0;while (x<15) y++,x+=++y; printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8D)8,2087、下面程序的运行结果是___B ________ .#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) 5D) 688、函数pi 的功能是根据以下近似公式求n 值:____ C ________ (n * n )/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)请填空,完成求n的功能。
c语言考试题库
选择1若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。
A、9B、-12C、6D、-32用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是()。
long a=0xffffff;int b; char c;A、指向同一地址B、-1和98C、-1和97D、0ffffff 和0x613下列数组说明中,正确的是()。
A、int array[][];B、int array[3][];C、int array[][4];D、int array[][][5];4以下选项中,与k=n++完全等价的表达式是()。
A、k=n,n=n+1B、n=n+1,k=nC、k+=n+1D、k=++n5以下叙述中正确的是()。
A、构成C程序的基本单位是函数B、所有被调用的函数一定要在调用之前进行定义C、可以在一个函数中定义另一个函数D、main()函数必须放在其它函数之前6一个C程序的执行是从()。
A、本程序文件的第一个函数开始,到本程序main函数结束B、本程序的main函数开始,到main函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束7以下定义语句中,错误的是()。
A、char *a[3];B、int a[]={1,2};C、char s[10]="test";D、int n=5,a[n];8以下对一维整型数组a的正确说明是()。
A、#define SIZE 10 (换行) int a[SIZE];B、int a(10);C、int n; scanf("%d",&n); int a[n];D、int n=10,a[n];9以下程序运行后的输出结果是。
struct STU{ char name[10];int num;int score;};main(){struct STU s[5] = {{"YangSan", 20041,703}, {"LiSiGuo",20042, 580},{"WangYin",20043,680},{"SunDan", 20044, 550},{"Penghua",20045,537}}, *p[5], *t;int i, j;for(i = 0; i < 5; i++) p[i] = &s[i];for(i = 0; i < 4; i++)for(j = i + 1; i < 5; j++)if(p[i] ->score >p[j] ->score){t = p[i]; p[i] = p[j]; p[j] = t; }printf("%d %d\n", s[1].score, p[1] ->score);}A、580 680B、680 680C、580 550D、550 58010以下数据中,不正确的数值或字符常量是()。
C语言常见复习题(选择填空)及参考答案
C语言常见复习题及参考答案一、选择题1.下述标识符中,()是合法的用户标识符。
A.A#CB.getchC.voidD.ab*2.在C语言中,字符型数据在内存中是以()形式存放的。
A.原码B.BCD码C.反码D.ASCII码3.以下选项中不合法的用户标识符是()。
A.abc.cB.fileC.MainD.PRONTF4.以下选项中不合法的用户标识符是()。
A.123B.printfC.Anbsp;D.Dim5.可以在C语言程序中用做用户标识符的一组标识符是()。
A.voidB.as-b3C.forD.2cdefine -123 -abc DoWORD If cas SIG6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。
(1)A.001 B.table_1 C.0_t D.k%Int t*.1 W10 point(2)A.Fast_ B.void C.pbl D.Fast+Big abs fabs beep(3)A.xy_ B.longdouble C.*p D.CHAR变量1 signed history Float7.()是构成C语言的基本单位。
A.函数B.过程C.子程序D.子例程8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。
(1).A.包含3个字符 B.包含2个字符C.包含1个字符D.无定值,说明不合法(2).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法(3).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法9.若x为int型变量,则执行以下语句后,x的值为x=6;x+=x-=x*xA.36B.-60C.60D.-2410.在C语言中,char 型数据在内存中是以()形式存储的。
A.原码B.补码C.ASCII码D.反码11.以下运算符中优先级最低的算符为(),优先级最高的为()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
精心整理 精心整理 C语言理论上机考试选择题部分(共200题,仅针对11级定向专业)1、下面程序的输出是____c_____ #include voidmain() {intk=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A)k=11,k=12,k=11B)k=11,k=13,k=13 C)k=11,k=013,k=0xbD)k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是___a_____. A)++t;B)n1=(n2=(n3=0)); C)k=i=j;D)a=b+c=1; 3、下面合法的C语言字符常量是___a_______. A)'\t'B)"A"C)65D)A 4、表达式:10!=9的值是____D________. A)trueB)非零值C)0D)1 5、C语言提供的合法的数据类型关键字是____D____. A)DoubleB)shortC)integerD)Char 6、字符(char)型数据在微机内存中的存储形式是A___. A)反码B)补码C)EBCDIC码D)ASCII码 7、C语言程序的基本单位是___C________. A)程序行B)语句C)函数D)字符 8、设inta=12,则执行完语句a+=a-=a*a后,a的值是_____D___ A)552B)264 C)144D)-264 9、执行下面程序中的输出语句后,输出结果是__A____. #include voidmain() {inta; printf("%d\n",(a=3*5,a*4,a+5)); } A)65B)20 C)15D)10 10、下面程序的输出是____B______. #include voidmain() {intx=023; printf("%d\n",--x); } A)17B)18 C)23D)24 精心整理
11、下面程序的输出的是___D______. #include voidmain() {intx=10,y=3; printf("%d\n",y=x/y); } A)0B)1 C)3D)不确定的值 12、已知字母A的ASCII码为十进制的65,下面程序的输出是____A_______. #include voidmain() {charch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A)67,DB)B,CC)C,DD)不确定的值 13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为_B_____. A)a<>0B)!aC)a=0D)a 14、以下程序的输出结果是C________. #include voidmain() {intx=10,y=10; printf("%d%d\n",x--,--y); } A)1010B)99 C)910D)109 15、设有如下定义: intx=10,y=3,z; 则语句 printf("%d\n",z=(x%y,x/y)); 的输出结果是______D____. A)1B)0 C)4D)3 16、为表示关系x≥y≥z,应使用C语言表达式__A___. A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z) C)(x>=y>=z)D)(x>=y)&(y>=z) 17、C语言中非空的基本数据类型包括_B_______. A)整型,实型,逻辑型B)整型,实型,字符型 C)整型,字符型,逻辑型 D)整型,实型,逻辑型,字符型 18、若x和y都是int型变量,x=100,y=200,且有下面的程序片段: printf("%d",(x,y)); 上面程序片段的输出结果是____A___. A)200B)100 精心整理
C)100200D)输出格式符不够,输出不确定的值 19、阅读下面的程序 #include voidmain() { charch; scanf("%3c",&ch); printf("%c",ch); } 如果从键盘上输入 abc 则程序的运行结果是_A______. A)aB)bC)cD)程序语法出错 20、阅读下面的程序 #include voidmain() { inti,j; i=010; j=9; printf("%d,%d",i-j,i+j); } 则程序的运行结果是___D_____. A)1,19B)-1,19 C)1,17D)-1,17 21、阅读下面的程序 #include voidmain() { inti,j,m,n; i=8;j=10; m=++i; n=j++; printf("%d,%d,%d,%d",i,j,m,n); } 程序的运行结果是___D_______. A)8,10,8,10B)9,11,8,10 C)9,11,9,10D)9,10,9,11 22、已知a=12,则表达式a+=a-=a*=a的结果是____a___. A)0B)144 C)12D)-264 23、若已定义inta,则表达式a=10,a+10,a++的值是_B__. A)20B)10 C)21D)11 24、阅读下面的程序 #include voidmain() { 精心整理
inti,j; scanf("%3d%2d",&i,&j); printf("i=%d,j=%d\n",i,j); } 如果从键盘上输入1234567,则程序的运行结果是____D____. A)i=123,j=4567B)i=1234,j=567 C)i=1,j=2D)i=123,j=45 25、下面程序的输出结果是__D______. #include voidmain() { inta=-1,b=4,k; k=(++a<=0)&&(b--<=0); printf("%d,%d,%d\n",k,a,b); } A)1,1,2B)1,0,3 C)0,1,2D)0,0,3 26、下面程序的输出结果是____D____. #include voidmain() { inta=5,b=3; floatx=3.14,y=6.5; printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1)); } A)1,0B)0,1 C)1,1D)0,0 27、执行下面程序段后,输出结果是__B______. inta; intb=65536; a=b; printf("%d\n",a); A)65536B)0 C)-1D)1 28、若有以下定义和语句: inta=010,b=0x10,c=10; printf("%d,%d,%d\n",a,b,c); 则输出结果是____B_____. A)10,10,10B)8,16,10 C)8,10,10D)8,8,10 29、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4的值是___B______. A)2.4B)2.5 C)2.75D)0 30、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是______. A)5.5B)5 C)3D)4.0 31、以下程序的输出结果是_D_______. 精心整理
#include voidmain() { inta=12,b=12; printf("%d,%d\n",--a,++b); } A)10,10B)12,12 C)11,10D)11,13 32、设有以下语句:intx=10;x+=3+x%(3),则x的值是.___A______ A)14B)15C)11D)12 33、若d为double型变量,则表达式d=1,d+5,d++的值是__B_____. A)1B)6.0 C)2.0D)1.0 34、表达式5!=3的值是__C______. A)TB)非零值C)0D)1 35、若有定义inta=12,n=5,则表达式a%=(n%2)运算后,a的值__A________. A)0B)1 C)12D)6 36、若有定义intx=3,y=2和floata=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是__D__. A)0B)2 C)1.5D)1 37、在C语言中,以下叙述不正确的是_________. A)在C程序中,无论是整数还是实数,都能被准确无误的表示 B)在C程序中,变量名代表存储器中的一个位置 C)静态变量的生存期与整个程序的生存期相同 D)C语言中变量必须先定义后引用 38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符__A______. A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母,数字或下划线中的任意一种 39、设有说明:charw;intx;floaty;doublez;则表达式:w*x+z-y值的数据类型是__D_____. c语言中两个不同类型的运算要转化成同类型的转换从低到高char-->float-->short-->int-->double A)floatB)charC)intD)double 40、一个C语言的执行是从___C________.