C语言基础强化练习100题(含答案)
雷柳青编排
1.C语言程序的基本构成单位是____
A) 程序行 B) 语句 C) 函数 D) 字符
2.C语言程序的三种基本结构是____
A.顺序结构,选择结构,循环结构
B.递归结构,循环结构,转移结构
C.嵌套结构,递归结构,顺序结构
D.循环结构,转移结构,顺序结构
3.C语言规定,程序中各函数之间______
A) 既允许直接递归调用也允许间接递归调用
B) 不允许直接递归调用也不允许间接递归调用
C) 允许直接递归调用不允许间接递归调用
D) 不允许直接递归调用允许间接递归调用
4.C语言中可处理的文件类型是_____
A) 文本文件和数据文件 B)文本文件和二进制文件
C) 数据文件和二进制文件 D)数据代码文件
5.C语言可执行程序的开始执行点是________
A) 程序中第一条可执行语句 B) 程序中第一个函数
C) 程序中的main函数D) 包含文件中的第一个函数
6.C语言提供的合法的数据类型关键字是________
A)Double B) short C) integer D) Char
7.C语言中,运算对象必须是整型数的运算符是_______
A) % B) \ C) %和\ D) *
8.C语言中函数返回值的类型是由()决定。
A) return语句中的表达式类型 B) 调用函数的主调函数类型
C) 调用函数时临时 D) 定义函数时所指定的函数类型
9.C语言中数组名作为参数传递给函数,作为实参数的数组名被处理为_____。
A. 该数组的长度。
B. 该数组的元素个数。
C. 该数组中各元素的值。
D. 该数组的首地址。
10.C语言中数组下标的下限是________。
A.1
B.0
C.视具体情况
D.无固定下限
11.C语言中提供的合法关键字是____
A.swith
B.cher
C.Case
D.default
12.C语言中文件的存取方式是________。
A.顺序存取
B.随机存取
C.顺序存取.随机存取均可
D.顺序存取.随机存取均不可
13.C语言中最简单的数据类型包括______
A) 整型.实型.逻辑型B) 整型.实型.字符型
C) 整型.字符型.逻辑型 D) 整型.实型.逻辑型.字符型
14.sizeof(float)是______
A) 一种函数调用B) 一个不合法的表示形式
C) 一个整型表达式D) 一个浮点表达式
15.x.y.z被定义为int型变量,若从键盘给x.y.z输入数据,正确的输入语句是______
A) input x,y,z; B) scanf("%d%d%d",&x,&y,&z);
C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);
16.表达式:10!=9的值是_____
A) true B) 非零值C) 0 D) 1
17.表示关系x<=y<=z的c语言表达式为________
A) (X<=Y)&&(Y<=Z) B) (X<=Y)AND(Y<=Z)
C) (X<=Y<=Z) D) (X<=Y)&(Y<=Z)
18.程序片段:在TC20中, int i=65536; printf("%d",i);的输出结果是____
A) 65536 B) 0 C) 有语法错误,无输出结果 D) -1
19.当调用函数时,实参是一个数组名,则向函数传送的是____
A) 数组的长度 B) 数组的首地址 C) 数组每一个元素的地址 D) 数组每个元素中的值
20.对于基本类型相同的两个指针变量之间,不能进行的运算是_______
A) < B) = C) + D) -
21.假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是______
A) 3 B) 6 C) 10 D) 20
22.假定有以下变量定义: int k=7 ,x=12; 则能使值为3的表达式是_______
A x%=(k%=5)
B x%=(k-k%5)
C x%=k-k%5
D (x%=k)-(k%=5)
23.请读程序片段(字符串内没有空格): printf("%d",strlen("ATS012\1\\\017"));的输出结果是________
A) 11 B) 10 C) 9 D) 8
24.请选出合法的C语言赋值语句_____
A) a=b=58; B) i++=5; C) a=58,b=58 D) k+5=int(a+b);
25.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是 ___
A) -3 B) 9 C) -12 D) 6
26.若int类型占两个字节,则以下语句输出为________。
int k=-1; printf("%d,%u",k,k);
A.-1,-1
B.-1,65536
C.-1,32768
D.-1,65535
27.若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是 _____
A) a的值是字符C B) a的值是浮点型
C) 不允许字符型和浮点型相加D) a的值是字符‘A’的ASCII值加上1
28.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 _______
A) a<>0 B) !a C) a=0 D) a
29.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是_____
A)1 B)2 C)2.0 D)2.5
30.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为______
A) 1.4 B) 1 C) 2.0 D) 2
31.若有定义和语句: char s[10]:s="abcd";printf("%s",s); 则结果是______(以下u代表空格)
A) 输出abcd B) 输出a C) 输出abcduuuuu D) 编译不通过
32.若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是 _____
A) 0 B) 0.5 C) 1 D) 2
33.若有以下定义: char a; int b; float c; double d; 则表达式a*b+d-c值的类型为____
A) float B) int C) char D) double
34.若有以下定义和语句 char c1='b',c2='e'; printf("%d,%c",c2-c1,c2-'a'+"A"); 则输出结果是:_____
5-1求幂之和(15分) 本题要求编写程序,计算sum=2^1+2^2+2^3+\cdots+2^n sum=21+22+23++2n。可以调用pow函数求幂。 输入格式: 输入在一行中给出正整数n n(\le≤10)。 输出格式: 按照格式“result=计算结果”输出。 输入样例: 输出样例: #include<> #include<> intmain() { inti,n,sum=0; scanf("%d",&n); for(i=1;i<=n;i++) { sum=sum+pow(2,i); } printf("result=%d\n",sum); return0; } 5-2近似求PI(15分) 本题要求编写程序,根据下式求\piπ的近似值,直到最后一项小于给定精度eps。
\frac{\pi}{2}=1+\frac{1!}{3}+\frac{2!}{3\times5}+\frac{3!}{3\times5\times7}+\ cdots+\frac{i!}{3\times5\times\cdots\times(2\timesi+1)}+\cdots2π=1+31!+3×52!+3×5×73!++3×5××(2×i+1)i!+ 输入格式: 输入在一行中给出精度eps,可以使用以下语句来读输入: 输出格式: 在一行内,按照以下格式输出\piπ的近似值(保留小数点后5位): 输入样例: 输出样例: #include<> #include<> intmain() { doublea=1,b=3,i=1,j=3; doubleeps,m=1,sum=0; scanf("%le",&eps); while(m>eps) { m=a/b; sum=sum+m; i=i+1; j=j+2; a=a*i; b=b*j; } printf("PI=%.5lf\n",2+2*sum);
C语言程序设计基础测试题 一、单选 [1] 下面叙述中错误的是____。 A. 复合语句中定义的函数只在该复合语句中有效 B. return( )语句中的括号中,可以是变量,常量或有确定值的表达式 C. 形式参数也是局部变量 D. 主函数中定义的变量在整个程序中都是有效的 [2]下列说法中正确的是____。 A.带参数的宏定义中的参数是没有类型的 B.宏展开将占用程序的运行时间 C.宏定义命令是C语言中的一种特殊语句 D.使用#include命令包含的头文件必须以“.h"为后缀 [3.] 若函数的形参为一维数组,则下列说法中正确的是____。 A.调用函数时的对应实参必为数组名 B.形参数组可以不指定大小 C.形参数组的元素个数必须等于实参数组的元素个数 D.形参数组的元素个数必须多于实参数组的元素个数 [4]. 系统的标准输出设备是____。 A.键盘 B.硬盘 C.内存 D.显示器 [5] 下面叙述中正确的是____。 A.全局变量在定义它的文件中的任何地方都是有效的 B.全局变量在程序的全部执行过程中一直占用内存单元 C. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式 D. 说明函数时必须明确其参数类型和返回类型 [6]. C程序的基本结构单位是____。 A.文件 B.语句 C.函数 D.表达式 [7] 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是____。 A.aa数组元素的值分别是"abcd"和"ABCD" B.aa是指针变量,它指向含有两个数组元素的字符型一维数组 C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D.aa数组的两个元素中各自存放了字符'a'和'A'的地址 [8]. 任何一个C语言的可执行程序都是从____开始执行的。 A.程序中的第一个函数 B.main( )函数的入口处
《C语言程序设计》习题篇 第一章C语言基础知识 1.1 选择题 1. 以下不是C语言的特点的是()。 A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 3.正确的C语言标识符是()。 A._buy_2 B.2_buy C.?_buy D.buy? 4. 请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 5.下列符号中,不属于转义字符的是()。 A.\\ B.\0xAA C.\t D.\0 6.不属于C语言关键字的是()。 A.int B.break C.while D.character 7.是C语言提供的合法关键字的是()。 A.Float B.signed C.integer D.Char 8.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 9.一个C程序是由()。 A.一个主程序和若干子程序组成 B.一个或多个函数组成 C.若干过程组成 D.若干子程序组成 10. C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 11.下列说法中,错误的是()。 A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外 C.主函数只能调用用户函数或系统函数,用户函数可以相互调用
1. 某城市出租车收费标准如下:起步里程是3 公里,起步费是10 元;超出起步里程后每公里 1.5 元。编写程序,输入行驶里程(公里) ,计算并输出乘客应支付的车费(元)。 #include 第一单元程序设计和C语言 一、选择题 1.C语言的基本构成单位是: A 。 A. 函数 B. 函数和过程 C. 超文本过程 D. 子程序 2.一个C语言程序总是从 B 开始执行。 A. 主过程 B. 主函数 C. 子程序 D.主程序 3.C语言的程序一行写不下时,可以 D 。 A. 用逗号换行 B. 用分号换行 C. 在任意一空格处换行 D. 用回车符换行 4.以下叙述不正确的是: C 。 A. 在C程序中,语句之间必须要用分号";"分隔 B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数 C. 在C程序中,无论是整数还是实数都能正确无误地表示 D. 在C程序中,%是只能用于整数运算的运算符 5.以下不正确的C语言标识符是 D 。 A. ABC B. abc C. a_bc D. ab.c 6.下列字符串是标识符的是:。 ? A. _HJ B. 9_student C. long D. LINE 1 7.以下说法中正确的是: C 。 A. C语言程序总是从第一个定义的函数开始执行 B. 在C语言程序中,要调用的函数必须放在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分 8.不合法的常量是: B 。 A. ‘\2’ B. "" C. ‘3’ D. ‘\483’ 9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。 int k,a,b; unsigned long w=5; double x=1.422; A. x%(-3) B. W += -2 C. k=(a=2,b=3,a+b) D. a+=a=+(b=4)*(a=3) 10.在C语言中,字符型数据在内存中以 D 形式存放。 A. 原码 B. BCD码 C. 反码 D. ASCII码 11.若有定义:int a=7; float x=2.5; y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是: A 。 C语言编程基础考试试题 文档名称文档密级 C语言编程基础考试 [考前说明]本题目中不考虑头文件引用问题(假定已经包含正确的头文件),C 语言的标 准函数都可用;如果不特别说明, 假定程序运行环境为:操作系统Windows 2000, VC6.0编译环境,缺省为四字节对齐, X86(80586)CPU处理器(32位小字节序处理器). 一、单选题 1、给出以下定义: char acX[ ]= "abcdefg"; char acY[ ]= {'a','b','c','d','e','f','g'}; 则正确的叙述为( ) A) 数组acX和数组acY等价 B) 数组acX和数组acY的长度相同 C) 数组acX的长度大于数组acY的长度 D) 数组acX的长度小于数组Y的长度 2、 void example(char acHello[]) { printf("%d", sizeof(acHello)); return; } void main() { char acHello[] = "hello"; example(acHello); return; } 的输出是( ) A 4 B 5 C 6 D不确定 3、以下叙述中不正确的是( ) A) 在不同的函数中可以使用相同名字的变量 B) 函数中的形式参数是在栈中保存 C) 在一个函数内定义的变量只在本函数范围内有效 D) 在一个函数内的复合语句中定义的变量在本函数范围内有效(复合语句指函数 中的成对括号构成的代码) 4、设有如下定义: unsigned long pulArray[] = {6, 7, 8, 9, 10}; unsigned long *pulPtr; 则下列程序段的输出结果为( ) 1 文档名称文档密级 pulPtr = pulArray; *(pulPtr + 2) += 2; printf ("%d,%d\n", *pulPtr, *(pulPtr + 2)); A)8,10 B)6,8 C)7,9 D)6,10 C语言基础练习100题(含答案) 雷柳青编排 1、下面程序的输出是________ #include 《C语言编程基础(第2版)》习题答案 前言 《C语言编程基础(第2版)》每章后面都安排了一定数量的习题,这有利于读者理解、消化和掌握各单元的学习内容。习题中,除了有填空题、选择题、回答问题等适合掌握基本概念的题型外,大部分是分析程序运行结果和要求编写实用程序,这有利于读者训练编程技巧和增强编程能力。应广大读者要求,特别是一线教学老师的要求,我们给出全部习题答案,供读者参考。编程答案只是实现题目算法要求的一种,并不一定是最好的。希望读者自己多做思考,利用多种方法进行编程,用以提高自己的程序设计水平和锻炼自己的创新能力。由于作者水平所限,错误和不当之处在所难免,恳请批评指正。 习题一 1、填空题。 ⑴ C语言程序由__函数__组成,其中必须有且只能有一个名为_main__的函 数。C程序的执行从___名为main的主__函数开始。 ⑵每个C语句必须以__分__号结束。 ⑶标识符只能由_英文字母_、__数字_和_下划线__三类符号构成,而且标 识符的第一个字符必须是__英文字母__或__下划线__。 ⑷关键字是指___C语言编译系统所固有的、具有专门意义的标识符___。 ⑸ C程序中,注释的内容应放在__/*_和_*/__符号之间。 2、选择题。 ⑴下面合法的C语言标识符是___ C ___。 ⑵ C语言中主函数的个数是___ A______。 ⑶以下有关注释的描述中,错误的是___ C ___。 ⑷ C程序中,main函数的位置____ D___。 3、指出并改正下面程序中的错误。 ⑴ main 应为 main() ⑵应在本程序最后加上大括号 }。 ⑶语句结束应有分号。如: int a,b; a=1;b=2; printf(%d,a+b); 、分析下列程序,写出运行结果。4. ⑴该程序是计算两个整数a和b的乘积并赋值给c,运行结果为: c=30 ⑵该程序输出一个字符串和一排星号,运行结果为: “C语言程序设计”平时作业(二) 填空题: (1)已知:int a[3] = {1, 2, 3}; 则 *(a+1)+2 的值为 ___【1】__4_。 (2)下面程序段的输出结果是___【2】___BC。 int a=1; s witch(a<=1) { case 0:printf("A"); case 1:printf("B"); default:printf("C"); } (3)以下程序运行后的输出结果是____【3】___3。 main() {int a=5,b=4,c=3,d=2; if (a>b>c) printf(“%d\n”,d); else if( (c-1 >=d) = =1 ) printf( “%d\n”,d+1); else printf( “%d\n”,d+2); } (4)下面程序段的输出结果是___【4】___ 3 int a[][3]={{1,2,3},{1,2,3},{1,2,3}}; int s=0,m,n; for(m=0;m<=2;m++) for(n=0;n<=3;n++) { if (a[m][n]= =2) break; s+= a[m][n]; } printf(“%d”,s); (5)以下程序运行后的输出结果是____【5】____24 #include 计算机程序设计基础(C语言) 单项选择练习题 说明:带*号的对非信息学院的同学不作要求。 一、基本概念 1. C语言程序是由 C 构成的。 A)一些可执行语言 B)main函数 C)函数 D)包含文件中的第一个函数2.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 3.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 4.C语言程序从main()函数开始执行,所以这个函数要写在_D___。 A) 程序文件的开始 B) 程序文件的最后 C) 它所调用的函数的前面 D) 程序文件的任何位置 5、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 6. 下列方法中错误的是(D)。 A.主函数可以分为两个部分:主函数说明部分和主函数体。 B.主函数可以调用任何非主函数的其它函数。 C.任何非主函数可以调用其它任何非主函数。 D.程序可以从任何非主函数开始执行。 7. 下列说法错误的是:(B) A.C程序运行步骤是编辑、编译、连接、执行。 B.C语言的变量名必须用小写,常量用大写。 C.C语言的三种基本结构是顺序、选择、循环。 D. C程序一定由函数构成的。 8.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 C语言基础测试题 一选择题(每题2分) 1. C语言程序的基本单位是( A )。 A. 函数 B. 过程 C. 语句 D. 子程序 2. 对于whil e语句,错误的说法是( C )。 A.用条件控制循环体的执行次数 B.循环体至少要执行一次 C.循环体有可能一次也不执行 D.循环体中可以包含若干条语句 3. 定义语句int a=3;则执行语句a+=a-=a*a后,变量a的值是(C)。 A.3 B.0 C.9 D.-12 4. 关于局部变量和全局变量的叙述中,错误的是(A)。 A.全局变量的重复赋值不会影响局部变量的使用。 B.主函数中定义的变量在整个程序中都是有效的 C.形式参数也是局部变量。 D.不论是局部变量还是全局变量,都以最近的一次赋值为准。 5. 已知:int a=13;那么:printf("%02d",a)结果是(A)。 A.13 B.013 C.01 D.03 6. 在main函数中调用scanf给变量a赋值的方法是错误的,原因是()。 int *p,a; p=&a; printf("input a:"); scanf("%d",*p); A. *p表示的是指针变量p的地址 B. *p表示的是变量a 的值,而不是变量a的地址 C. *p表示的是指针变量p的值 D. *p只能用来说明p是一个指针变量 7.若有以下定义,则对a数组元素地址的正确引用是()。 A.a+5 B.*a+1 C.&a+1 D.&a[0] 8. 若int k=4,a=3,b=2,c=1;则kb); A. 1,3 B. 1,4 C. 2,3 D. 2,4 二.填空题。(每空3分) 1.写一个宏MIN,这个宏输入两个参数并返回较小的一个_________。2.main函数中:for(int i=0; i<3; i++){printf("%d",i);}输出结果是_________。3.设int a=9,b=20;则printf("%d,%d",a--,--b);的输出结果是_________。 一、C语言基本知识和基本语句 (一)选择题 1.设a,b和c都是int型变量,且a=3,b=4,c=5则下面的表达式中,值为零的表达式是()。 A)‘a’&&’b’ B) a<=b C) a || b+c&&b-c D) ! ((a= ‘A’ && ch <=‘Z’) ? ( ch + 32):ch,则表达式ch的值是()字符。 A) A B) a C) Z D) z 3.若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) 3 9.C语言表达式10 != 9 的值是()。 A)true B) 非零值 C) 0 D) 1 10.合法的C语言字符常量是()。 A)’\t’B) “A” C) 65 D) A 11.若int类型数据占两个字节,则下列语句的输出为()。 int k = -1 ; printf (“%d,%u\n ”,k,k); A)- 1,- 1 B) – 1,32767 C) –1,32768 D) –1,65535 12.组成C语言程序的是()。 A)子程序 B) 过程 C) 函数 D) 主程序和子程序 第一章C语言基础知识 1.1 选择题 1. 以下不是C语言的特点的是()。 A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D.-_ok 3.正确的C语言标识符是()。 A._buy_2 B.2_buy C._buy D.buy 4. 请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3C.For D.2a define _123 -abc DO WORD IF Case sizeof 5.下列符号中,不属于转义字符的是()。 A.\\ B.\0xAA C.\t D.\0 6.不属于C语言关键字的是()。 A.int B.break C.while D.character 7.是C语言提供的合法关键字的是()。 A.Float B.signed C.integer D.Char 8.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 9.一个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.由制造厂家提供的一套应用软件 第一单元C语言概述 一、选择题 1、C语言中主函数的个数为()个。 A)1 B)2 C)无穷个D)任意个 2、以下关于C语言描述错误的是()。 A)一个C程序总是从main函数开始执行 B)每个语句和数据声明的最后必须有一个分号 C)C语言的注释符是以“/*”开始并以“*/”结束的 D)一个C程序可以包含多个main函数 3、C 语言源程序文件后缀为()。 A).EXE B).OBJ C).C D).ASM 4、C语言是由()组成的。 A)子程序B)主程序与子程序C)函数D)过程 5、C语言属于()语言 A)机器语言B)汇编语言C)高级语言D)面向对象语言 第二单元C语言基础 一、选择题 1、C语言中普通整型变量int在内存中占()字节。 A)1 B)2 C)3 D)4 2、下列不是C语言基本数据类型的是()。 A)字符型B) 整型 C) 浮点型D) 结构体 3、有关自增、自减运算,以下只有()是正确的。 A) ---f B) ++78 C) a—b++ D) d++ 4、已知A=7.5,B=2,C=3.6,表达式(A>B && C>A) || (AB)的值是()。 A)0 B)10 C)1 D)5 5、若有x=1,y=2,z=3,则表达式(x A)1 B)2 C)3 D)0 6、判断char型变量ch是否为大写字母的正确表达式是()。 A) ‘A’<=ch<=‘Z’B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 7、判断整型变量digit是否为数字的正确表达式是()。 A) ‘0’<=ch<=‘9’B) (ch>=‘0’)&(ch<=‘9’) C) (ch>=‘0’)&&(ch<=‘9’) D) (‘0’<= ch)AND(‘9’>= ch) 8、一个C程序的执行是从()。 A)本程序的main函数开始,到main函数结柬 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 9、在以下标识符中,合法的是() A)if B)0xy C)_xy D)case 10、C语言中各种类型的数据其实决定了占用内存的字节数。float占()。 A)一字节B)二字节C)四字节D)八字节 11、下列各选项中,()是有效的标识符。 A)ab B)3day C)day-3 D)#abc 12、以下叙述正确的是()。。 A) 在C程序中,每行只能写一条语句 B) 若a是实型变量,C程序中不允许a=10这种赋值。 C) 在C程序中,%是只能用于整数运算的运算符 D) 在C程序中,无论是整数还是实数,没有什么区别 13、有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是()。 A)132↙B)1,3,2↙ C)a=1 b=3 c=2↙D)a=1,b=3,c=2↙ 14、设整型变量a为5,使b不为2的表达式是()。 A)b = a/2 B)b = 6-(--a) C)b=a%2 D)b=a>3?2:1 1、一个C正确答案: A]。 A)必须有一个主函数 B)可以有多个主函数 C)必须有主函数和其他函数 D)可以没有主函数 2、关于C正确答案: B]。 A)C程序的第一个函数称为主函数,程序从该函数开始运行。 B)C程序的主函数即是main函数,程序从该函数开始运行。 C)C程序可以有多个主函数,程序从第一个主函数开始运行。 D)C程序可以没有主函数,程序从第一个函数开始运行。 3、C程序中,return正确答案: D]。 A)终止程序运行 B)返回到上层循环 C)返回到外层结构 D)返回到上层函数 4、C语言程序的3正确答案: A]。 A)顺序结构,选择结构,循环结构 B)递归结构,循环结构,转移结构 C)嵌套结构,递归结构,顺序结构 D)循环结构,转移结构,顺序结构 5、以下对C正确答案: A]。 A)C程序总是从main()函数开始执行。 B)C程序可以从程序中的任何函数开始执行。 C)C程序总是从第一个定义的函数开始执行。 D)C程序中的main()函数必须放在程序的开始部分。 6、关于C程序第1正确答案: D]。A)#include stdio.h B)#include 'stdio.h' C)#include (stdio.h) D)#include 8、下列的哪个不是C正确答案: D]。 A)while B)auto C)break D)printf 9、下列的哪个不是C正确答案: C]。 A)+ B)% C)= D)- 10、下列的哪个不是C正确答案: C]。 A)>= B)<= C)= D)!= 11正确答案: D]。 A)代码如果没有缩排是错误的 B)程序总是从main函数开始执行 C)注释/*和*/不可以嵌套 D)C源文件经过编译先生成目标文件,再经过连接才能生成可执行文件 12正确答案: B]。 A)3ab B)_isw C)float D)b-b 13正确答案: B]。 A)INT B)int C)year2009 D)my_program 14、以下选项中,合法的C正确答案: D]。 A)b-a B)5ab C)int D)_5ab 15、以下选项中,三种类型都是C正确答案: C]。 C语言基础练习题 1. 从键盘上输入两个整数,求出它们的和。 2. 已知三角形的底和高,求出三角形的面积。 3. 从键盘上输入三角形的底和高,求出三角形的面积。 4. 已知三角形的三边长,求出三角形的面积。 5. 已知二元一次方程的三个系数,求方程的一个根。 6. 编程实现符号函数。当x <0 ,则sgn(x)=-1, 当x >0 ,则sgn(x)=+1, 当x =0 ,则sgn(x)=0。 7. 从键盘上输入数字星期,在屏幕上显示英文星期。 8. 从键盘输入三角形的三边长,判断出这三边能否构成三角形。 9. 从键盘输入三个整数,将这三个数按从大到小的顺序排列起来。 10. 从键盘输入二个整数,求出最大值。 11. 从键盘输入三个实数,求出最大值。 12. 从键盘输入三个整数,在一个程序中既要求出最大值,还要求出最大值。 13. 使用for循环编程求出1到100的和。 14. 使用当循环for循环编程求出1到100的和。 15. 使用直到循环编程求出1到100的和。 16. 从键盘输入10个实数,求出最大值。(画N-S流程图) 17. 从键盘输入10个整数,求出最小值。 18. 从键盘输入10个整数,求出它们的平均值。(画N-S流程图) 19. 编程在屏幕上输出具有7行的正三角形。 20. 求出8的阶乘。 21. 从键盘输入20个整数,求出不大于90所有数的和。(画N-S流程图) 22. (画N-S流程图)从键盘输入一个整数,判断这个数是否为素数。 23. 从键盘输入20个整数,求出它们的和。(画N-S流程图,使用数组) 24.从键盘输入20个整数,求出它们的平均值及比平均值大的数。(使用数组) 25. 已知五个整数3,-5,8,2,9,求出最大值。(画N-S流程图 (使用数组) 26.从键盘输入20个整数,求出它们的最小值,并求最小值所在位置。 27. 已知五个整数3,-5,8,2,9,按从大到小的顺序排列起来(画N-S流程图,使用数组) 28. 从键盘输入10个实数,按从大到小的顺序排列起来(画N-S流程图,使用数组)。 29. 某班有43名学生,某门考试结束后,请按10段统计出各分数段的人数(画流程图)。 30. 从键盘上输入两个字符串,并将它们交换后输出。 31. 已知五个字符串"China","American","Japan","France","Australia",编程将它们按从小到大的顺序排列起来。 32. 使用指针将a数组中的五个数依次输出。 1.下列四组选项中,均不是C语言关健字的选项是( A )。 A) define B) gect C) include D) while IF char scanf go type printf case pow 2.下面四个选项中,均是合法整型常量的选项是( A )。 A)160 B)-0xcdf C) -01 D)-0x48a -0xffff 01a 986,012 2e5 011 0xe 0668 0x 3.下面四个选项中,均是不合法的转义符的选项是( 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)PRINT 6.C语言提供的合法关键字是( D )。 A) swith B) cher C) Case D)default 7.下列标识符组中,合法的用户标识符为 A A)_0123与ssiped B)del-word与signed C)list与*jer D) keep%与wind 8.在C语言中,逻辑值"真"的表示是用( C )。 A) true B) 整型值0 C)非另整型值 D) T 9若有以下定义 char s='\092'; 则该语句( b ) A)使s的值包含一个字符 B)定义不合法,s的值不确定 C)使s的值包含4个字符 D)使s的值包含3个字符 10设C语言中,int类型数据占2个字节,则float类型数据占( D )个字节。 A)1 B)2 C)8 D)4 11已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为( A )。 A)D B)68 C)不确定的值 D)C 12逻辑运算符两侧运算对象的数据类型是 ( D )。 A) 只是0或1 B) 只能是0或非0正数 C) 只能是整型或字符型数据 D) 可以是任何合法的类型数据 13TURBO C中int类型变量所占字节数是( B )。 《C语言基础》习题及答案 一、选择题 1.设a的值为15,n的值为5,则进行a%=(n%=2)运算后,a的值为()。 A.0 B.1 C.12 D.6 2.设有类型说明 unsigned int a=65535; ,按%d格式输出a的值,其结果是(B)。 A.65536 B.-1 C.1 D.-32767 3.下列运算符中优先级最高的是(C)。 A.?: B.&& C.+ D.!= 4.以下程序输出的结果是(A)。 main( ) { int a= -1,b=4,k; k=!((++a<0)&&! (b--<0)); printf("%d%d%d\n",k,a,b); } A.104 B.103 C.013 D.004 5.下面的程序执行后,变量a的值是(B)。 #define SQR(x) x*x main() { int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf("%d\n",a); } A.10 B.1 C.9 D.0 6.设有int i;则表达式i=1,++i,++i||++i,i的值为(C)。 A.1 B.2 C.3 D.4 7.设有int i;则表达式(i=1,i=10)?i++||++i:++i的值为(A)。 A.1 B.2 C.3 D.10 8.设有int a[]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是(C)。 A.10,11,12 B.11,12,12 C.10,12,12 D.11,11,12 9.设有int i, j, k; 则表达式i=1,j=2,k=3, i&&j&&k 的值为 ( A )。 A.1 B.2 C.3 D.0 10.设有说明int s[2]={0,1},*p=s; 则下列错误的C语句是 ( A )。 A.s+=1; B.p+=1; C.*p++; D.(*P)++; C语言基础编程题标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N] 5-1求幂之和(15分) 本题要求编写程序,计算sum=2^1 + 2^2 + 2^3 + \cdots + 2^n sum=21+22+23++2n。可以调用pow函数求幂。 输入格式: 输入在一行中给出正整数n n(\le≤10)。 输出格式: 按照格式“result = 计算结果”输出。 输入样例: 输出样例: #include<> #include<> int main() { int i,n,sum=0; scanf("%d",&n); for(i=1;i<=n;i++) { sum=sum+pow(2,i); } printf("result = %d\n",sum); return 0; } 5-2近似求PI(15分) 本题要求编写程序,根据下式求\piπ的近似值,直到最后一项小于给定精度eps。 \frac{\pi}{2}=1+\frac{1!}{3}+\frac{2!}{3\times 5} + \frac{3!}{3\times 5\times 7}+ \cdots +\frac{i!}{3\times 5\times \cdots \times (2\times i+1)}+ \cdots2π=1+31!+3×52!+3×5×73!++3×5××(2×i+1)i!+ 输入格式: 输入在一行中给出精度eps,可以使用以下语句来读输入: 输出格式: 在一行内,按照以下格式输出\piπ的近似值(保留小数点后5位): 输入样例: 输出样例: #include<> #include<> int main() { double a=1,b=3,i=1,j=3; double eps,m=1,sum=0; scanf("%le", &eps); while(m>eps) { m=a/b; 1. C语言程序的执行,总是起始于()。 A) 程序中的第一条可执行语句 B) 程序中的第一个函数 C) main函数 D) 包含文件中的第一个函数 2. 在C语言系统中,假设int类型数据占2个字节,则double、long、unsigned int、char类型数据所占字节数分别多少()。 A) 8,2,4,1 B) 2,8,4,1 C) 4,2,8,1 D) 8,4,2,1 3. C语言程序的基本单位是() A) 语句B) 程序行C)函数D) 字符 4. 以下4组用户定义标识符中,全部合法的一组是() A)_main B)If C)txt D)int enclude -max REAL k_2 sin turbo 3COM _001 5. 已有定义:int x=3,y=4,z=5;则表达式!(x+y)+z-1&&y+z/2的值是()。 A、0 B、1 C、2 D、-1 6. 设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d) 后n的值()。 A、1 B、2 C、3 D、4 7. 有如下程序 main() { int y=3,x=3,z=1; printf("%d %d\n",(++x, y++),z+2); } 运行该程序的输出结果是() A) 3 4 B) 4 2 C) 4 3 D) 3 3 8. 下列程序执行后的输出结果是(小数点后只写一位)() A)6 6 6.0 6.0 B)6 6 6.7 6.7 C)6 6 6.0 6.7 D)6 6 6.7 6.0 main() { double d ;flaot f;long l;int i; i=f=l=d=20/3; printf(”%d %ld %f %f\n”,i,l,f,d); 9. 已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j 的值为2、k的值为3,以下选项中正确的输入语句是() A)scanf("%2d%2d%2d",&i,&j,&k); B)scanf(""%d %d %d",&i,&j,&k); C)scanf("%d,%d,%d",&i,&j,&k); D)scanf("i=%d,j=%d,k=%d",&i,&j,&k); 10. 有如下程序 main() {int a=2,b=-1,c=2; if(aC语言基础题及参考答案
C语言编程基础考试试题
C语言基础练习100题(含标准答案)
C语言编程基础习题答案
c语言基础题
C语言-基本选择题及答案解析
C语言基础测试题
(完整版)C语言基础知识综合练习题
C语言基础练习题含答案
C语言基础题
C语言基础题及答案
C语言基础练习题
c语言程序基础练习题道附答案
【专业课】《c语言基础》习题及答案
C语言基础编程题
C语言基础试题