C语言选择题知识点

合集下载

C语言知识学习要点选择题

C语言知识学习要点选择题

29. 如这程序所示,如果运行时,输入 18,18 ,那么 b 的值为多少?(单选) void main() { int a,b; scanf("%d,%o",&a,&b); b+=a; printf("%d",b);
7
} A. 36 答案: C 30. 读懂程序并填空。 #include <stdio.h> void main() { char ch=0x31; printf("%d\n",ch);//屏幕显示___ printf("%o\n",ch);//屏幕显示___ printf("%x\n",ch);//屏幕显示___ printf("%c\n",ch);//屏幕显示___ } 答案: 49 61 31 1 B. 34 C. 输入错误,b 的值不确定 D. 18
8
printf("请输入 a 和 b 的值:"); scanf("%d,%d",___); temp = a; ___ ___ printf("交换后, a=%d , b=%d\n",___); } 答案: &a ,&b a = b; b = temp; a,b 3. 当 a,b,c 的值分别为 3,4,5 时,以下各语句执行后 a,b,c 的值为多少? (1)if(a>c) {a=b;b=c;c=a;} else {a=c;c=b;b=a;} 执行后 a,b,c 的值为___,___,___ (2)if(a<c) a=c; else a=b;c=b;b=a; 执行后 a,b,c 的值为___,___,___ (3)if(a!=c) ; else a=c;c=b;b=a; 执行后 a,b,c 的值为___,___,___ 答案: 5 5 4 5 5 4 3 3 4 4. 当 a=3,b=4,c=5 时,写出下列各式的值。 a<b 的值为___, a<=b 的值为___, a==c 的值为___, a!=c 的值为___, a&&b 的值为___, !a&&b 的值为___, a||c 的值为___, !a||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语言二级选择题考点C语言是一门广泛应用于计算机科学和软件开发领域的编程语言。

在C语言的学习过程中,选择题是常见的考核方式之一。

本文将针对C语言二级选择题的考点进行讨论,帮助读者更好地理解和应对这些考题。

一、数据类型和运算符1. 数据类型的选择在C语言中,数据类型是非常重要的概念。

选择题通常会涉及数据类型的选择,如int、float、char等。

对于这类问题,我们需要掌握不同数据类型的存储范围、精度以及对应的格式符。

同时,我们还需要了解数据类型之间的转换规则,以便正确选择数据类型。

2. 运算符的优先级和结合性选择题还会涉及运算符的优先级和结合性的问题。

我们需要熟悉C语言中运算符的优先级和结合性规则,以便正确判断表达式的运算结果。

二、控制结构1. 条件语句的判断选择题中常会涉及条件语句的判断,如if语句、switch语句等。

我们需要了解条件语句的语法结构和执行流程,并能正确判断条件的真假以及相应的执行结果。

2. 循环结构的选择循环结构也是选择题中常见的考点。

我们需要熟悉C语言中的循环语句,如for循环、while循环、do-while循环等,并能正确选择适合的循环结构以实现特定的功能。

三、函数和数组1. 函数的选择和调用选择题中会涉及函数的选择和调用的问题。

我们需要了解函数的定义和调用的语法规则,包括函数的返回值类型、参数的传递方式以及函数的调用方式等。

2. 数组的使用和操作选择题中也会涉及数组的使用和操作。

我们需要了解数组的定义和初始化的语法规则,以及数组的访问和操作方式。

此外,我们还需要掌握数组的内存分配和释放的知识,以便正确选择和使用数组。

四、指针和内存管理1. 指针的选择和操作选择题中常会涉及指针的选择和操作的问题。

我们需要了解指针的定义和初始化的语法规则,以及指针的访问和操作方式。

同时,我们还需要了解指针的指向和指针的运算的相关知识,以便正确选择和操作指针。

2. 动态内存管理选择题中还会涉及动态内存管理的问题。

C语言知识点1

C语言知识点1

C语言语言个)一选择题(50个)1. 在程序中可以用来作为变量名的合法的标识符是:___c_ A sta c B 23_b1 C stu_1t D #33 2. 下列运算符运算级别最高的是:__D_______ D ! A && B += C >= D ! 3 已知:char str1, str2[10]; 选择正确的输入语句选择正确的输入语句 :__D______ 选择正确的输入语句A scanf ("%s%c", &str1,str2); B scanf ("%s%s", &str1,str2); C scanf ("%c%c", &str1,str2); D scanf ("%c%s", &str1,str2); 4 选择正确的运行结果:___D ______ #include "stdio.h" main() { int a=1,b=10; do{ a++; b-=a; b--; }while(b>0); prin ("a=%d,b=%d",a,b); } A a=2,b=-1 B a=2,b=-2 C a=4,b=-1 D a=4,b= -2 5. 有一个二维数组s[3][4], 其第2行第3列元素的正确表示是:___B____ A *(*(s+2)+3) B *(s+2)+3 C s[2,3] D s[3][2] 6. 以下正确的描述是:___B______ A con nue 语句的作用是终止整个循环的执行。

语句的作用是终止整个循环的执行。

B con nue 语句的作用是结束本次循环的执行。

语句的作用是结束本次循环的执行。

C con nue 语句和break 语句都可以在switch语句中使用。

语句中使用。

c语言考试知识点

c语言考试知识点

C语言考试知识点C语言作为一门广泛应用于计算机编程的语言,掌握其相关知识点对于计算机科学专业的学生来说至关重要。

在C语言的学习和考试中,有一些核心知识点是必须掌握的。

本文将按照逐步思考的方式,介绍C语言考试的一些重要知识点。

1.数据类型在C语言中,数据类型是非常重要的概念。

掌握不同数据类型的定义和使用方法是编写高效程序的基础。

常见的数据类型包括整型、浮点型、字符型和指针类型等。

在考试中可能会涉及到数据类型的声明、转换和运算等方面的问题。

2.运算符和表达式通常,C语言的考试会涉及到运算符和表达式的相关问题。

了解运算符的种类和优先级是至关重要的。

掌握算术、关系、逻辑和位运算符等的使用方法,并能够正确理解表达式的求值过程,对于解题非常有帮助。

3.控制语句 C语言中的控制语句主要包括条件语句和循环语句。

在考试中,你可能需要写出使用if、switch、for、while或do-while等语句的程序。

理解这些语句的工作原理,并能够正确运用它们来解决问题,是考试中的重要内容。

4.数组和指针数组和指针是C语言中的重要概念。

对于数组,你需要了解如何声明、访问和操作数组元素。

对于指针,你需要理解指针和内存地址之间的关系,以及如何使用指针来操作变量和数组。

在考试中,可能会涉及到数组和指针的传递、动态内存分配等问题。

5.函数函数是C语言中的基本构建块之一。

在考试中,你可能会需要编写函数来实现某种功能。

理解函数的定义、参数传递、返回值和递归等概念是非常重要的。

掌握如何正确定义和调用函数,并能够设计出高效的函数,对于解答考试题目非常有帮助。

6.文件操作 C语言中的文件操作主要包括文件的打开、读写、关闭等功能。

了解如何使用标准库函数来进行文件的操作,并能够正确处理文件指针、错误处理和文件结束标志等问题,对于考试中的文件处理题目非常有帮助。

7.数据结构在C语言考试中,可能会涉及到一些基本的数据结构问题。

例如,你可能需要编写链表、栈、队列或树的相关操作。

(完整版)C语言单项选择题(带答案)

(完整版)C语言单项选择题(带答案)

计算机程序设计基础(C语言)单项选择练习题一、基本概念1. C语言程序是由构成的。

A)一些可执行语言 B)main函数C)函数 D)包含文件中的第一个函数2. 是构成C语言程序的基本单位。

A)函数 B)过程 C)子程序 D)子例程3.C语言可执行程序从开始执行。

A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数4.C语言程序从main()函数开始执行,所以这个函数要写在____。

A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置5. 以下说法中正确的是。

A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main( )函数中定义C)C语言程序总是从main( )函数开始执行D)C语言程序中的main( )函数必须放在程序的开始部分6. 下列方法中错误的是。

A)主函数可以分为两个部分:主函数说明部分和主函数体。

B)主函数可以调用任何非主函数的其它函数。

C)任何非主函数可以调用其它任何非主函数。

D)程序可以从任何非主函数开始执行。

7.下列关于C语言的说法错误的是。

A) C程序的工作过程是编辑、编译、连接、运行B) 标识符的命名由英文字母、数字和下划线组成,与字母的大小写无关C) C程序的三种基本结构是顺序、选择、循环D) 一个C程序总是从main函数开始执行的8. 系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才能运行。A) 编辑、编译 B )编辑、连接 C) 编译、连接 D) 编辑、改错9.下列说法中正确的是。

A)由于C源程序是高级语言程序,因此一定要在TC软件中输入。

B)由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入。

C)由于C程序是高级语言程序,因此输入后即可执行。

D)由于C程序是高级语言程序,因此它是由命令组成的。

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#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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
解析:考察复合语句{}。
注意区分复合语句 if(x>y){ z=x;x=y;y=z;}和 if(x>y) z=x;x=y;y=z;
11:程序段 for (i=5;i;i--) for(j=0;j<4;j++){语句} 中,{语句}总的执行 次数是: A)20 B)25 C)24 D)30 解析:外层循环 for (i=5;i;i--),i 从 5 取到 1 共 5 次,内层循环 for(j=0;j<4;j++)中 j 从 0 取到 3 共 4 次,所以总循环次数 5*4=20. 注意:这是最简单的情况,循环条件由表达式 2 限制,所以只判断变 量的取值个数即为循环次数。如果语句中有退出循环的其他条件比如 break 就有可能提前退出,就要注意总次数肯定是<=5*4。 12:以下描述错误的是: A)C 程序中,函数可以直接或间接的调用自己 B)函数调用时,函数 名必须与所定义的函数名字完全一致 C)函数说明语句中的类型必须与函数返回值的类型一致 D)实参个 数可以与形参个数不一致 解析:考察第 5 章函数相关概念:函数概述、形参与实参、函数返 回值与函数定义的数据类型之间的关系、函数调用与函数声明、函数 原型、局部变量与全局变量等。 13:若有定义:int a[5]={1,2,3,4,5};则语句 a[1]=a[3]+a[2+2]-a[3-1];运行 后 a[1]的值为: A) 6 B)5 C)1 D)2 解析:考察数组元素的引用。数组元素下标必须是常量或表达式。
ferror 文件读/写出错
例:ferror (fp)
clearerr 清除文件错误标志 例:clearerr (fp)
ftell 了解文件指针的当前位置 例:ftell (fp)
(4)文件操作包含文件打开与关闭,读写操作:
fopen 与 fclose; fscanf 与 fprintf
(5)熟悉教材 p278 的表 8-1
17:设 char s[10],*p=s;,下列表达式中,不正确的表达式是: A)p=s+5 B)s=p+s C)*p=s[0] D)s[2]=p[4] 解析:s 是数组首地址,不能修改。p=s+5 表示 p 指向数组第 6 个元 素,*p=s[0]中*p 相当于 s[0],s[2]与 p[4]均表示数组元素 数组元素表示法----(下标法):s[i]等价于 p[i]
int i=0,a[]={3,4,5,4,3}; do {
a[i]++; }while(a[++i]<5);
for(i=0;i<5;i++) printf("%d ",a[i]);
}
22:#include <stdio.h> main() { FILE *fp; char str[256]; fp = fopen("test.txt", "r+"); if(fp==NULL){
A)A B)a
C)C D)c 解析:考察条件表达式。ch 是大写字母则输出对应的小写字母否则 原样输出。 8:已有定义 int x; f1oat y;且执行 scanf("%3d%f",&x,&y);语句,若从第 一列开始输入数据 12345 678(回车),则 x 的值为: A)12345 B)123
补充:常考知识点有数组的初始化、数组元素下标的范围、数组元素 下标差等。 例:若有定义:int a[3][3];则表达式&a[2][1]-a 的值为 7 。 解析:二维数组 M*N 看成一维数组处理时 a[i][j]可以看成 a[i*n+j]; &a[2][1]-a 等价于&a[2*3+1]-a,表示两个元素之间的距离,即两个元 素下标之差(即距离)。 两 个 元 素 地 址 之 差 等 于 (int)&a[2][1]-(int)a 等 价 于 两 个 元 素 距 离 *sizeof(int)。 14:不能把字符串:Hello!赋给数组 b 的语句是: A)char b[10]={‘H’,‘e’,‘l’,‘l’,‘o’,‘!’}; B)char b[10]; b=“Hello!”; C)char b[10]; strcpy(b,“Hello!”); D)char b[10]=“Hello!”; 解析:字符串赋值操作只能用 strcpy()函数。 15:若有说明:int a[3][4]; 则对 a 数组元素的正确引用是: A)a[2][4] B)a[1,3] C)a[1+1][0] D)a(2)(1);
16:若有定义:int *p,a=4; p=&a;则以下均代表地址的是: A)a,p B)&a,p C)&a,*p D)a,*p 解析:考察指针、地址、指针变量。指针即是地址,指针变量是存放 指针(变量)的变量。若定义有:int *p,那么 p 是指针变量,而*p 相 当于普通变量,指向该地址存放的数据。
第一 题:选择题(1-18 题每题 1 分;19-22 题每题 3 分; 总分数:30) 1:用 C 语言编写的代码: A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行 解析:c 语言程序是高级语言,计算机只能运行低级语言(二进制 代码),所以高级语言要经过编译变成低级语言才可以执行。编译产 生的目标文件扩展名.obj,运行产生的文件扩展名.exe。 2:对 C 语言来说,下列标识符合法的是: A)x&y B)x1_ C)1_y D)*1_x 解析:考察标识符的命名规则:字母、数字、下划线且不以数字开 头。变量区分大小写,即 a 和 A 是两个变量,变量名不能出现函数 名,关键字等。 3:在 C 语言中,以下合法的字符常量是: A)‘\084’ B)‘\x43’ C)‘ab’ D)“\0” 解析:该类题目通常考察合法的整型常量(不同进制表示形式)、浮 点型常量,字符常量(定界符单引号‘’,单个字符)以及字符串常 量(定界符双引号“”)。 4:下列运算符中优先级最低的是: A): B)&& C)+ D)!=
如果长度小于 5,%5s 左补空格,%-5s 右补空格。
10:int x=10,y=20,z=30;if(x>y) z=x;x=y;y=z;以上语句执行后,x,
y,z 的值是:
A)x=10,y=20,z=30 B)x=20,y=30,z=30
C)x=20,y=30,z=10 D)x=20,y=30,z=20
解析:要熟记不同运算符的优先级以及结合性。 5:设 x 、y 均为 f1oat 型变量,则以下不合法的赋值语句是: A) y=(x%2)/10; B)x*=y+8;
C)x=y=0; D)++x; 解析:考察整除以及除法运算的区别。 6:假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是: A)7 B)8
(指针法):*(s+i)等价于*(p+i) 18:关于文件理解不正确的为: A)C语言把文件看作是字节的序列,即由一个个字节的数据顺序组成; B)所谓文件一般指存储在外部介质上数据的集合; C)系统自动地在内存区为每一个正在使用的文件开辟一个缓冲区; D)每个打开文件都和文件结构体变量相关联,程序通过该变量中访问 该文件; 解析: 1.p275 文件 分磁 盘文件 和终 端文件 。终 端文件 有标 准输入 文件 (stdin),标准输出文件(stdout)和标准出错信息文件(stderr)。 2.文件按数据格式分类:文本文件(ASCII 文件)和二进制文件;按 读/写顺序分顺序文件和随机文件。 3.缓冲文件系统:系统自动为需要处理的文件开辟磁盘缓冲区; 非缓冲文件系统:系统不会开辟,由程序员为文件设定缓冲区。 19:#include<stdio.h> main() {
9:printf 函数中用到格式符%5s ,其中数字 5 表示输出的字符串占用 5
列。如果字符串长度大于 5,则输出按方式:
A)从左起输出该字串,右补空格 B)按原字符长从左向右全部输出
C)右对齐输出该字串,左补空格 D)输出错误信息
解析:要熟记教材上关于各种数据类型的格式控制符号含义。
不管是%5s 还是%-5s 格式:如果字符串长度大于 5,都按原长度输出;
C)6 D)2 解析:考察逗号表达式。最后一个表达式的值即逗号表达式的值。 验证答案源程序:
#include<stdio.h> void main() {
int a,b; printf("%d\n",(a=2,b=5,b++,a+b)); }
7:已知 char ch=′C′;则表达式(ch>=′A′ && ch<=′Z′)?(ch+32):ch; 的值是:
int a=1,b=2,c=3,d=0; if(a= =1 &&b++= =2) // b++==2 成立(b 取 2),判断完后 b 值变为 3
if(b!=2 || c--!=3)//b!=2 成立,所以不用判断第 2 个表达式即 c 值不变 printf(“%d,%d,%d\n”,a,b,c);
(6)FILE *fp
Fp=fopen(“d:\\vc\\test.txt”,“r”)//绝对路径

Fp=fopen(“test.txt”,“r”) //相对路径
(1)终端文件有 3 个特殊文件:标准输入文件(stdin)、标准输出文
件(stdout)、标准出错文件(stderr)。
(2)按不同的分类标准,文件可以分为以下:
按数据格式分为文本文件(ASCII 文件)和二进制文件;按读/写方式
分为顺序文件和随机文件。
相关文档
最新文档