C语言基础知识景德镇陶瓷学院期末考试
C语言期末考试试卷附参考答案
C语言期末考试一试卷附参照答案序列中 10 个数的次序为:,若使用次序比较法,经过三轮排序后,这10 个数的次序为:。
3. 调用字符串办理函数时,应在程序的开头增添预编译命令:#include<>,puts( )函数将一个以结束的字符序列(字符串)输出到终端4.C 语言中,函数分为系统供给的和用户自定义函数两类,也可分为有参函数和两类。
5.函数的递归调用指在调用一个函数的过程中又。
6.函数值只好经过语句返回主调函数。
四、程序改错(求出两个非零正整数的最大条约数在右侧写出正确内容, 5× 2)#include<stdio.h>int fun(int a, b ){ int r,t;if(a<b) {t=a;b=a;a=t;}r=a%b;while(r!=0){a=b;b=r;r=a/b;}return a;}五、阅读程序写出运转结果(4×5)1.# include<stdio.h>int main( ){ void fun(int x);fun(8);printf("\n");}void fun(int x){if(x/2>0) fun(x/2);printf("%d",x);}运转结果为:3. #include <stdio.h># include<math.h>int main( ){ int i,j,n=0;for(i=― 5;i<=5;i++){ if(i%2!=0) n++;for(j=1;j<=abs(i);j++) printf( “ “);,并作为函数值返回。
在错误下边划横线,void main( ){ int n1,n2,a;printf( “please input n1,n2:\n ”);scanf( “%d%d”,&n1,&n2); a=fun(n1,n2);printf("最大条约数是: %d\n",a);}2.# include <stdio.h>void main ( ){ char s1[ ]=” This book ”;char s2[ ]= ” THIS hook ”;int i;for (i=0;s1[i]!= 0’ &&s2[i]!= 0’i++);if(s1[i]!=s2[i]) printf( “ %c” ,s1[i]);}运转结果为:4.#include <stdio.h>int main( ){int i,j,x;int a[10] ={12,3,14,5,26,97,38,9,0,―2}; for(i=0;i<=9;i++){x=a[i];j=i-1;while(j>=0&&x<a[j])六、程序填空题(结果按次号填在下方对应横线上, 10× 2 分)1、编程实现将十进制整数 n 变换成十六进制 2、编写判断能否为素数的函数,在主函数 数输出。
C语言期末考试试题及详细答案
选择练习题1、C 语言中最简单的数据类型包括( B )。
A 、整型,实型,逻辑型B 、整型,实型,字符型C 、整型,字符型,逻辑型D 、整型,实型,逻辑型,字符型 2、C 语言中,运算对象必须是整型数的运算符是(A )。
A 、%B 、/C 、%和/D 、*3、为表示关系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)4、C 语言程序的基本单位是( C )。
A 、程序行B 、语句C 、函数D 、字符5、C 语言的程序一行写不下时,可以( D )。
A 、用逗号换行B 、用分号换行C 、用回车符换行D 、在任意一空格处换行6、下述标识符中,( C )是合法的用户标识符。
A 、A&B B 、voidC 、_studentD 、ab* 7、在C 语言中,字符型数据在内存中以( BA 、补码B 、ASCII 码C 、反码D 、原码8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为( B)。
A 、autoB 、externC 、staticD 、Register 9、以下关于switch 语句和break 语句的描述中,只有(B A 、在switch 语句中必须使用break 语句B 、在switch 语句中,可以根据需要使用或不使用break 语句C 、break 语句只能用于switch 语句中D 、break 语句是switch 语句的一部分10、C 语言规定:调用一个函数时,实参变量和形参变量之间的数据传递是(B )。
A 、地址传递B 、值传递C 、由实参传给形参,并由形参传回给实参D 、由用户指定传递方式11、下述C 语言转义符中( D )是非法的。
A 、'\b'B 、'\037'C 、'\0xf 'D 、'\''12、为了要计算s=10!(10的阶乘),则以下对s 的定义正确的是(D )。
c语言大期末考试题库及详解答案
c语言大期末考试题库及详解答案一、选择题1. C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:A2. 在C语言中,哪个运算符用于取模?A. /B. %C. *D. -答案:B3. 如果一个变量声明为 `int x;`,那么x的类型是什么?A. 浮点型B. 整型C. 字符型D. 双精度型答案:B4. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable!2D. variable-2答案:B5. 在C语言中,以下哪个语句用于结束一个循环?A. continueB. breakC. returnD. exit答案:B二、填空题6. C语言中,一个基本的程序结构包括_____、_____和_____。
答案:预处理指令;函数定义;程序的主体7. 以下代码段的输出结果是_____。
```c#include <stdio.h>int main() {int a = 5, b = 10;printf("%d", a + b);return 0;}```答案:158. 在C语言中,若要定义一个字符数组来存储字符串"Hello",正确的声明方式是_____。
char str[] = "Hello";```答案:char str[6];9. 下列代码段中,变量x的最终值是_____。
```cint x = 10;x += x * x - 3 * x + 2;```答案:11210. C语言中,若要计算两个数的乘积,可以使用运算符_____。
答案:*三、简答题11. 解释C语言中指针的概念及其用途。
答案:指针是一种变量,它存储了另一个变量的内存地址。
指针用于访问和操作内存地址中的数据,可以实现动态内存分配、数组操作、函数参数传递等。
大一c期末考试题及答案
大一c期末考试题及答案大一C语言期末考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. stringD. double答案:C3. 在C语言中,以下哪个选项不是运算符?A. +B. -C. %D. :答案:D4. 若有定义:int a=5, b=3;,则表达式a%b的值是多少?A. 2B. 1C. 0D. 3答案:A5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. while答案:B6. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[5] = "hello";B. char str[] = {'h', 'e', 'l', 'l', 'o'};C. char str[6] = "hello";D. char str[] = "hello";答案:D7. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A8. 下列哪个选项不是C语言中的数组?A. int a[5];B. int a[5] = {1, 2, 3, 4, 5};C. int a[] = {1, 2, 3};D. int a = {1, 2, 3};答案:D9. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int, int);C. int add();D. int add(int a);答案:A10. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. printf()D. scanf()答案:A二、填空题(每空2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是________。
c语言期末考试题库大题及详解答案
c语言期末考试题库大题及详解答案C语言期末考试题库大题及详解答案一、简答题1. 请简述C语言的基本数据类型及其特点。
答案:C语言的基本数据类型包括整型(int)、浮点型(float和double)、字符型(char)和枚举型(enum)。
整型用于存储整数,浮点型用于存储小数,字符型用于存储单个字符,枚举型用于定义一组命名的常量。
每种数据类型都有其特定的取值范围和占用内存大小。
2. 请解释C语言中的数组和指针的区别。
答案:数组是一种数据结构,用于存储固定数量的相同类型元素,可以通过下标访问元素。
指针是一个变量,它存储另一个变量的内存地址。
数组名可以作为指向数组第一个元素的指针使用,但数组本身是一个固定大小的内存块,而指针可以被赋值为不同的地址,具有动态性。
二、编程题1. 编写一个C语言程序,实现输入三个整数,找出其中的最大值并输出。
答案:```c#include <stdio.h>int main() {int num1, num2, num3, max;printf("请输入三个整数:");scanf("%d %d %d", &num1, &num2, &num3);max = (num1 > num2) ? ((num1 > num3) ? num1 : num3) : ((num2 > num3) ? num2 : num3);printf("最大值是:%d\n", max);return 0;}```2. 编写一个C语言程序,实现字符串的反转。
答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");fgets(str, sizeof(str), stdin); // 使用fgets以包含空格int len = strlen(str) - 1; // 减去换行符长度for (int i = len; i >= 0; --i) {printf("%c", str[i]);}printf("\n");return 0;}```三、综合题1. 请编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除四种基本运算。
(2021年整理)C语言程序设计期末考试试题(含答案)
C语言程序设计期末考试试题(含答案)(推荐完整)编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(C语言程序设计期末考试试题(含答案)(推荐完整))的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为C语言程序设计期末考试试题(含答案)(推荐完整)的全部内容。
C语言程序设计期末考试试题(含答案)(推荐完整)编辑整理:张嬗雒老师尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布到文库,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是我们任然希望 C语言程序设计期末考试试题(含答案)(推荐完整)这篇文档能够给您的工作和学习带来便利。
同时我们也真诚的希望收到您的建议和反馈到下面的留言区,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请下载收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为〈C语言程序设计期末考试试题(含答案)(推荐完整)> 这篇文档的全部内容。
C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是 ( )A、 C语言简洁、紧凑B、能够编制出功能复杂的程序C、 C语言可以直接对硬件进行操作D、 C语言移植性好2、以下不正确的C语言标识符是()A、 ABCB、 abcC、 a_bcD、 ab.c3、一个C语言程序是由()A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性"等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为 ( )A、 intB、 floatC、 doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是()A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(〈CR〉表示回车),x的值是 ( )。
c语言期末考试试题及答案
1. 一个C程序的组成部分可以是()。
A)一个主函数和一至若干个其他函数B)一至若干个主函数C)一个主程序和一至若干个其他函数D)一个主程序和一至若干个子程序2. 一个C程序的执行是从()。
(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束3. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。
A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符4. 设有定义:int m=1,n=-1;则执行语句printf("%d\n",(m--&++n);后的输出结果是()。
A)–1 B)0 C) 1 D) 25. 表达式11&10的结果用二进制表示为()。
A)11B)3C)1D)106. 设有语句int a=3;则执行语句a+=a-=a*a后,变量a的值是()。
(A)3(B)0(C)9(D)-127. 在下列选项中,不的赋值语句是()。
A)t/=5;B)n1=(n2=(n3=0));C)k=i==j;D)a=b+c=1;8. 下列( )表达式不满足:当x的值为偶数时值为"真",为奇数时值"假"。
A)X%2==0B)!x%2!=0C)(x/2*2-x)==0D)!(x%2)9. 若有定义:int a=8,b= 5,c;执行语句c=a/b+0.4 后c的值为()A)1.4 B)1 C)2.0 D)210. 假设a=3,b=4,c=5,则逻辑表达式:!(a+b)+c-1&&b+c/2的值是()。
A)true B)false C)0D) 111. 若int a=3,b=4;则执行c=a++>2||b-->=4之后,b变量的值为()。
大学C语言期末考试题库试题及答案汇总
1.下列定义变量的语句中错误的是______。
A、int _intB、double int_C、char ForD、float US$答案:D知识点:常量、变量和标识符2.以下不合法的用户标识符是______。
A、j2_KEYB、DoubleC、4dD、_8_答案:C知识点:常量、变量和标识符3.以下4组用户定义标识符中,全部合法的一组是______。
A、_main enclude sinB、If -max turboC、txt REAL 3COMD、int k_2 _001答案:A知识点:常量、变量和标识符4.以下定义语句中正确的是______。
A、char a='A' b='B';B、float a=b=10.0;(正解a=10.0 b=10.0)C、int a=10,*b=&a;D、float *a,b=&a;答案:C知识点:常量、变量和标识符5.以下不能定义为用户标识符的是______。
A、scanfB、VoidC、_3com_D、int答案:D知识点:常量、变量和标识符6.以下有4组用户标识符,其中合法的一组是______。
A、For -sub CaseB、4d DO SizeC、f2_G3 IF abcD、WORD Void define答案:C知识点:常量、变量和标识符7.C语言中最简单的数据类型包括______。
A、整型、实型、逻辑型B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型答案:B知识点:常量、变量和标识符8.下列选项中,合法的C语言关键字是______。
A、VARB、cherC、integerD、default答案:D知识点:常量、变量和标识符9.以下不能定义为用户标识符的是______。
A、MainB、_0C、_intD、sizeof答案:D知识点:常量、变量和标识符10.下列叙述中正确的是______。
c语言基础期末考试题及答案
c语言基础期末考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的字符常量?A. 'a'B. "a"C. aD. 0x61答案:A2. 下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. +答案:A4. 在C语言中,以下哪个选项是正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释D. /* 这是注释答案:B5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. do-whileD. for答案:B6. 在C语言中,以下哪个函数用于将整数转换为字符串?A. atoiB. itoaC. sprintfD. printf答案:B7. 下列哪个选项不是C语言中的预处理指令?A. #includeB. #defineC. #ifD. switch答案:D8. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A9. C语言中,以下哪个选项是合法的数组声明?A. int arr[] = {1, 2, 3};B. int arr[3] = {1, 2};C. int arr[3] = {1, 2, 3, 4};D. int arr = {1, 2, 3};答案:A10. 在C语言中,以下哪个选项是正确的文件打开模式?A. "r"B. "w"C. "a"D. "b"答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个浮点型变量声明为 `float x;`,其默认的初始值为______。
答案:0.02. C语言中,使用______运算符可以进行逻辑与运算。
c语言期末考试题库及详解答案
c语言期末考试题库及详解答案1. 以下哪个选项是C语言中正确的整型常量?A. 0x123B. 0123C. 0.123D. 123.0答案:A解析:在C语言中,整型常量可以是十进制、八进制或十六进制。
选项A表示十六进制数,选项B表示八进制数,选项C是浮点数,选项D 是浮点数。
2. C语言中,以下哪个关键字用于声明函数?A. intB. floatC. voidD. function答案:C解析:在C语言中,关键字void用于声明没有返回值的函数。
选项A 和B用于声明返回整型和浮点型值的函数,选项D不是C语言的关键字。
3. 以下哪个选项是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World'"D. 'Hello World'答案:A解析:在C语言中,字符串字面量是由双引号括起来的字符序列。
选项B和D使用了单引号,它们表示单个字符。
选项C的引号没有正确闭合。
4. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A解析:在C语言中,百分号(%)是取模运算符,用于计算两个整数相除的余数。
选项B是除法运算符,选项C是乘法运算符,选项D是减法运算符。
5. 以下哪个选项是C语言中正确的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int [5] array = {1, 2, 3, 4, 5};C. int array[] = {1, 2, 3, 4, 5};D. int array[5] = {1, 2, 3};答案:C解析:在C语言中,数组的声明可以省略数组的大小,编译器会根据初始化列表的长度自动计算数组的大小。
选项A和B的声明方式不正确,选项D没有为数组的所有元素提供初始化值。
6. C语言中,以下哪个函数用于计算两个数的和?A. max(a, b)B. min(a, b)C. sum(a, b)D. pow(a, b)答案:C解析:在C语言的标准库中,没有内置的sum函数。
C语言程序设计期末考试试题含答案
C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。
2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。
3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。
4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。
5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。
C语言期末考试题库(第一章c语言基础知识)
C语言期末考试题库(第一章c语言基础知识)C语言考研题库(第一章c语言基础知识)一、单项选择1.算术运算符,赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为().A、关系运算,赋值运算,算术运算B、算术运算,关系运算,赋值运算C、算术运算,赋值运算,关系运算D、关系运算,算术运算,赋值运算答案:B2.下述正确的C语言常量是:().A、E2B、3e-3C、1.5E2.5D、5.0E答案:B3.使用共用体变量,不可以().A、进行动态管理B、节省存储空间C、同时访问所有成员D、简化程序设计答案:C4.为表示关系x>=y>=z,应使用C语言表达式为:()A、(x>=y)&(y>=z)B、(x>=y>=z)C、(x>=y)&&(y>=z)D、(x>=y)AND(y>=z)答案:C5.以下程序的输出结果是().{char str[]="ABCD",*p=str;printf("%s\n",p);}A、68B、ABCDC、不确定的值D、字符D的地址答案:B6.char a[10];不能将字符串"abc"存储在数组中的是().A、a="abc";B、a[0]=0;strcat(a,"abc");C、int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;D、strcpy(a,"abc");答案:A7.fscanf函数的正确调用形式是().A、fscanf(文件指针,格式字符串,输入表列);B、fscanf(格式字符串,文件指针,输出表列);C、fscanf(fp,格式字符串,输出表列);D、fscanf(格式字符串,输出表列,fp);答案:A8.下列数组说明中正确的是().A、int array[][]={1,2,3,4,5,6,7,8,9,10};B、int array[][][5]={1,2,3,4,5,6,7,8,9,10};C、int array[][4]={1,2,3,4,5,6,7,8,9,10};D、int array[3][]={1,2,3,4,5,6,7,8,9,10};答案:C9.以下选项中,与k=n++完全等价的表达式是().A、n=n+1,k=nB、k+=n+1C、k=++nD、k=n,n=n+110.针对下列程序段回答问题().for(t=1;t<=100;t++){scanf("%d",&x);if(x<0)continue;printf("%3d",t);}A、printf函数永远也不执行B、当x<0时整个循环结束C、x>=0时什么也不输出D、最多允许输出100个非负整数答案:D11.以下正确的字符串常量是()A、"\\\"B、'A'C、'abc'D、OlympicGames答案:A12.如下说法不正确的是().A、若a为真b为假,则a||b为真B、若a为真b为假,则a&&b为假C、若a为真b为假,则! a-1&&b为真D、若a为真,则! a为假答案:C13.C语言中,用于结构化程序设计的三种基本结构是().A、for,while ,do-whileB、顺序结构,选择结构,循环结构C、if,switch,breakD、if,for,continue14.若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是().A、t[3]B、t[2]C、&t[3][2]D、&t[1]答案:B15. 下列运算符中优先级最高的是().A、<B、&&C、+D、!=答案:C16.C语言程序中,必须有的函数是().A、main()B、#include"stdio.h"C、scanfD、printf答案:A17.已定义char a[10];和char *p=a;,下面的赋值语句中正确的是().A、*p="Turbo c";B、p="Turbo c";C、a[10]="Turbo c";D、a="Turbo c";答案:B18.以下叙述正确的是().A、可以把if定义为用户标识符,但不能把define定义为用户标识符B、define和if 都不能定义为用户标识符C、可以把define和if定义为用户标识符D、可以把define定义为用户标识符,但不能把if定义为用户标识符答案:D19.若已定义x为int类型变量,下列语句中,说明指针变量p的正确语句是().A、*p=*x;B、int *p=x;C、int *p=&x;D、int p=&x;答案:C20.以下叙述中,正确的是().A、花括号"{"和"}"只能作为函数体的定界符B、构成C程序的基本单位是函数,所有函数名都可以由用户命名C、分号是C语句之间的分隔符,不是语句的一部分D、C程序中,注释部分可以出现在程序中,任意合适的地方答案:D21.以下能对二维数组a进行正确初始化的语句是().A、int a[][3]={{1,2,3},{4,5,6}};B、int a[2][]={{1,0,1},{5,2,3}};C、int a[2][4]={{1,2,3},{4,5},{6}};D、int a[][3]={{1,0,1}{},{1,1}};答案:A22.C语言中,double 类型数据占().A、8个字节B、4个字节C、2个字节D、1个字节答案:A23.经过下列的语句int j,a[10],*p=a;定义后,下列语句中,合法的是().A、p=a[5];B、p=a[2]+2;C、p=p+2;D、p=&(j+2);答案:C24.定义char s[10],*p=s;,则下面编译不能通过的语句是().A、s=p+s;B、s[2]=p[4];C、p=s+5;D、*p=s[0];答案:A25.以下函数调用语句中,实参的个数是().exce((v1,v2),(v3,v4,v5),v6);A、3B、4C、5D、6答案:A26.若x=2,y=3,则x||y的结果是()A、0B、3C、2D、1答案:D27.已知x=43,ch='A',y=0;,则表达式(x>=y&&ch<'B'&&!y)的值是().A、"假"B、语法错C、0D、128.下面四个选项中均是不合法的浮点数的选项是().A、-e3.234 1e3B、123 2e4.2.e5C、-.18 123e4 0.0D、160.0.12 e3答案:B29.以下函数调用语句中,实参的个数是().fun c((e1,e2),(e3,e4,e5));A、3B、5C、语法错误D、2答案:D30.已定义:float x=1.25,y=3.37;根据下面的输出结果,正确的输出语句是().y+x=4.62,y-x=2.12A、printf("y+x=%4.2f,y-x=%4.2f\n",y+x,y-x);B、printf("y+x=%f,y-x=%f\n",y+x,y-x);C、printf("y+x=%6f,y=%6f\n",y+x,y-x);D、printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x);答案:A31.执行下面程序段后,ch的值是().char ch='a';ch=(ch>='A'&&ch<='Z')?(ch+32):ch;A、AB、zC、ZD、a32.在C语言的函数中,下列正确的说法是().A、数组名不能作形参B、可以有也可以没有形参C、形参必须是变量名D、必须有形参答案:B33.以下正确的描述是().A、在循环中,break语句不能独立出现B、只能用continue语句来终止本次循环C、goto语句只能用于退出多层循环D、switch语句中,不能出现continue语句答案:B34.C语言中,运算对象必须是整型的运算符是().A、〈=B、%=C、=D、/答案:B35.下面不正确的字符串常量是().A、"0"B、""C、"12'12"D、'abc'答案:D36. fwrite函数的一般调用形式是().A、fwrite(buffer,count,size,fp);B、fwrite(fp,count,size,buffer);C、fwrite(fp,size,count,buffer);D、fwrite(buffer,size,count,fp);答案:D37.以下定义语句中错误的是().A、int a[]={1,2};B、int n=5,a[n];C、char *a[3];D、char s[10]="test";答案:B38.下列正确的标识符是().A、%yB、a+bC、6aD、_do答案:D39.C语言源程序的基本单位是().A、子程序B、过程C、标识符D、函数答案:D40. 若变量已正确定义,执行语句scanf("%d,%d,%d",&k1,&k2,&k3);时, ()是正确的输入A、20 30 40B、2030,40C、20,30,40D、20,30 40答案:C41.设有如下程序,请选择正确答案().#includemain(){int **k,*j,i=100;j=&i,k=&j;printf("%d\n",**k);}A、100B、i的地址C、j的地址D、运行错误答案:A42.若定义:int a=511,*b=&a;,则printf("%d\n",*b);的输出结果为().A、a的地址B、无确定值C、511D、512答案:C43.以下叙述中,不正确的是().A、C程序中的#include和#define 均不是C语句B、在C程序中,赋值运算符的优先级最低C、在C程序中,j++;是一条赋值语句D、一个好的程序应该有详尽的注释答案:B44.下面叙述中错误的是().A、若一个函数没有return语句,则什么值也不会返回B、一般来说,函数的形参和实参的类型要一致C、函数的形式参数,在函数未被调用时就不被分配存储空间D、若函数的定义出现在主调函数之前,则可以不必再加说明答案:A45.设有如下程序段:int k=10;while(k==0)k--;,则下述说明中正确的是().A、循环体执行一次B、死循环C、循环体一次也不执行D、循环体执行10次答案:C46.表示关系x>0且y<=10的C语言表达式为().A、(x<=0)AND(y<=10)B、(x>0)&&(y<=10)C、x>0,y<=10D、(x<=0)&(y<=10)答案:B47.以下叙述不正确的是().A、C程序的基本组成单位是函数B、在C程序中,注释说明只能位于一条语句的后面C、一个C源程序可由一个或多个函数组成D、一个C源程序必须包含一个main()函数答案:B48.C语言提供的合法的数据类型关键字是().A、floatB、unsignedC、charD、int eger答案:B49.所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是:().A、6B、7C、8D、2答案:C50.以下符合C语言语法的赋值表达式是().A、d=9+e+f=d+9B、d=9+e,e++,d+9C、d=9+eD、d=9+e++=d+7答案:C51.下面对函数的叙述,正确的是().A、函数中无论是否有return语句,都能返回正确值B、函数中没有return语句,说明不带回值C、函数不能嵌套定义D、函数的返回值是通过return语句获得的答案:C52.整型变量x=1,y=3,经下列计算后,x的值不等于6的是().A、x=(x=1+2,x*2)B、x=9-(--y)-(--y)C、x=y*4/2D、x=y>2?6:5答案:B53.设x,y,z,t均为整型变量,则执行以下语句后,t的值为:() x=y=z=1; t=++x||++y&&++z;A、1B、不定值C、2D、0答案:A54.下列字符序列中不可用作C语言标识符的是().A、a_1B、#abC、symbolD、b70答案:B55.C语言执行程序的开始执行点是().A、包含文件中的第一个函数B、程序中,第一个函数C、程序中的main()函数D、程序中,第一条可以执行语言答案:C56.下列运算符优先级最低的是().A、&&B、+C、=D、!答案:C57.下面所列的语句行中能正确进行赋字符串操作的语句行是().A、char st[4][5]={"ABCDE"};B、char s[5]={'A','B','C','D','E'};C、char *s;scanf("%c",s);D、char *s;s="ABCDE";答案:D58.以下正确的函数定义形式是().A、double fun(int x,int y)B、double fun(int x;int y)C、double fun(int x,y);D、double fun(int x,int y);答案:A59.下列变量中合法的是().A、$ABCB、B.C.TomC、3a6bD、_6a7b答案:D60.以下标识符中可以作为用户函数名的是().A、unionB、intC、structD、go_to答案:D61.判断两个字符串是否相等,正确的表达方式是().A、while(strcmp(s1,s2)=0)B、while(strcmp(s1,s2)==0)C、while(s1==s2)D、while(s1=s2)答案:B62.下面各语句中能正确进行赋字符串操作的语句是().A、char st[][]={"ABCDE"};B、char s2[6]={'A','B','C','D','E'};C、char s1[5][]={"ABCDE"};D、char s[5]={'A','B','C','D','E'};答案:B63.下列数据中属于"字符串常量"的是().A、'ABC'B、ABCC、"ABC"D、'A'答案:C64.C语言中的文件的存储方式有().A、可以顺序存取,也可随机存取B、只能随机存取(或直接存取)C、只能顺序存取D、只能从文件的开头进行存取答案:A65.putchar函数可以向终端输出一个().A、字符或字符型变量值B、整型变量表达式值C、实型变量值D、字符串答案:A66.下面叙述中正确的是().A、声明函数时必须明确其参数类型和返回类型B、函数可以返回一个值,也可以什么值也不返回C、空函数在不完成任何操作,所以在程序设计中没有用处D、对于用户自己定义的函数,在使用前必须加以声明答案:B67.以下标识符中不能作为合法的C用户定义标识符的是().A、_123B、voidC、ifD、a3_b3答案:B68.将字符串Turbo赋给字符数组word,则下面错误的说明语句是().A、char word[]={"Turbo\0"};B、char word[]="Turbo\0";C、char word[]={'T','u','r','b','o','\0'};D、char word[]='Turbo\0';答案:D69.用下面的scanf函数输入数据,使得i=10,j=15,选择正确的键盘输入方法:().(用[CR]表示回车)main(){int i,j;scanf("i=%d,j=%d",&i,&j);}A、i=10,j=15[CR]B、i=10Uj=15[CR]C、10U15[CR]D、10,15[CR]答案:A70.跳过当前循环体内容,继续执行下一次循环的语句是()A、continue语句B、return语句C、break语句D、空语句答案:A71.设有以下定义:int a[10]={1,2,3,4,5,6,7,8,9,10};int *p=a;,则数值为6的表达式是().A、p+5B、*p+6C、*p+=5D、*(p+6)答案:C72.以下程序段执行后输出的结果是().char str[]="ABCD",*p=str;printf("%d\n",*(p+4));A、不确定的值B、字符'D'的地址C、68D、0答案:D73.用下面的scanf函数输入数据,使得i=10,k=15选择正确的键盘输入方法().(用"[CR]"表示回车,U表示空格)main(){int i,k;scanf("i=%d,k=%d",&i,&k);}A、10U15[CR]B、i=10,k=15[CR]C、i=10[CR]k=15[CR]D、10,15[CR]答案:B74.设有如下的程序段:char str[]="Hello";char *ptr;ptr=str;执行完上面的程序段后,*(ptr+5)的值为().A、'\0'B、'o'C、'o'的地址D、不确定的值答案:A75.定义int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;,其中,0≤i≤9,则对a数组元素的引用不正确的是().A、a[p-a]B、*(&a[i])C、p[i]D、*(*(a+i))答案:D76.以下字符中,不是转义字符的是().A、'\b'B、'\\'C、'\c'D、'\a'答案:C77.设a为整型变量,不能正确表达数学关系10<a<15的c语言表达式是:()< bdsfid="563" p=""></a<15的c语言表达式是:()<>A、10<a<15< bdsfid="565" p=""></a<15<>B、!(a<=10)&&!(a>=15)C、a>10&&a<15D、a==11||a==12||a==13||a==14答案:A78.在C语言中,存储类型为()的变量只在使用它们时才占用存储空间.A、static 和autoB、register和autoC、register和externD、static 和register答案:B79.已知键盘输入a=4,b=3,下面程序输出的结果是().main(){int a,b,s;scanf("%d%d",&a,&b);s=a;if(a< bdsfid="582" p=""><>s=s*s;printf("%d\n",s);}A、13B、9C、16D、15答案:C80.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是().A、"ab"B、"wb+"C、"rb+"D、"ab++"答案:B81.设有如下说明和语句,请选出哪个是对c数组元素的正确引用(). int c[4][5],(*cp)[5];cp=c;A、*(*cp+2)B、*(cp+3)C、cp+1。
c语言期末考试题库大题及详解答案
c语言期末考试题库大题及详解答案1. 题目:编写一个C语言程序,实现一个简单的学生成绩管理系统,要求能够添加学生信息、查询学生信息、修改学生信息和删除学生信息。
答案:```c#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct {int id;char name[50];float score;} Student;Student students[100];int studentCount = 0;void addStudent(int id, char* name, float score) {if (studentCount < 100) {students[studentCount].id = id;strcpy(students[studentCount].name, name);students[studentCount].score = score;studentCount++;} else {printf("学生信息已满。
\n");}}void queryStudent(int id) {for (int i = 0; i < studentCount; i++) {if (students[i].id == id) {printf("学生ID:%d, 姓名:%s, 成绩:%.2f\n", students[i].id, students[i].name, students[i].score);return;}}printf("未找到该学生信息。
\n");}void modifyStudent(int id, char* name, float score) {for (int i = 0; i < studentCount; i++) {if (students[i].id == id) {strcpy(students[i].name, name);students[i].score = score;printf("学生信息已更新。
c语言期末考试题及答案详解
c语言期末考试题及答案详解C语言期末考试题及答案详解一、选择题(每题2分,共20分)1. 下列哪个关键字用于定义C语言的函数?A. classB. functionC. voidD. int答案:D2. C语言中,哪个运算符用于取模?A. /B. %C. *D. -答案:B3. 在C语言中,哪个关键字用于声明一个变量为静态存储类别?A. staticB. autoC. registerD. extern答案:A4. 下列哪个不是C语言的控制语句?A. ifB. switchC. forD. loop答案:D5. 在C语言中,哪个函数用于将整数转换为字符串?A. atoiB. itoaC. atolD. tolower答案:B6. C语言中,哪个函数用于计算两个数的绝对值?A. fabsB. absC. fmodD. pow答案:B7. 在C语言中,哪个关键字用于声明一个函数的返回类型?A. returnB. typeC. valueD. type_of答案:A8. 下列哪个不是C语言的数组类型?A. intB. charC. floatD. string答案:D9. C语言中,哪个关键字用于定义一个结构体?A. structB. unionC. enumD. class答案:A10. 在C语言中,哪个函数用于打开一个文件?A. fopenB. fcloseC. freadD. fwrite答案:A二、填空题(每空2分,共20分)1. C语言中,一个完整的程序至少包含一个________函数。
答案:main2. 定义一个字符数组char str[10],使用________运算符可以给数组赋值。
答案:=3. 在C语言中,使用________关键字可以进行条件判断。
答案:if4. 一个C语言程序在编译时,首先会被预处理器处理,其中________指令用于包含头文件。
答案:#include5. C语言中,使用________函数可以输出格式化的字符串。
C语言期末考试试卷附参考答案
一、单项选择题(请将答案填在下面表格中20×1)1. 以下叙述中正确的是()。
A. C语言比其他语言高级B. C语言可以不用编译就能被计算机识别执行C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D. C语言出现的最晚,具有其他语言的一切优点2. 以下叙述中正确的是()。
A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C. main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3. 以下叙述中正确的是()。
A. C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分4. 以下有关for循环的正确描述是()。
A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5. 对下面程序段的描述,正确的是()。
x=-1;do{x=x*x;}while(!x);A.是死循环B. 循环执行一次C. 循环执行两次D. 有语法错误6. 以下有关C语言数组说法正确的是()。
A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。
A. int a(20);B. int a[ ]={1,2,5,7,0};C. int a[n];D. int a[2]={1,2,4,6};8.在定义int b[2][10];之后,对b数组元素引用正确的是( )。
A. b[0][9]B. b[2,3]C. b(1)(5)D. b[10] [0]9. 如有定义语句int c[ ]={1,5,3,4,6,7,0};,则数组c有()个元素。
c语言期末考试填空题题库及详解答案
c语言期末考试填空题题库及详解答案1. C语言是一种______语言,它支持______和______两种编程范式。
答案:高级,过程式,面向对象2. 在C语言中,变量的声明必须在程序的______部分进行。
答案:开始3. C语言标准库中,用于输入输出的头文件分别是______和______。
答案:<stdio.h>,<stdlib.h>4. 一个C语言程序的执行从______函数开始,到______函数结束。
答案:main,main5. C语言中,字符常量可以用单引号括起来,例如'A'表示______。
答案:字符A6. 在C语言中,整数类型int的范围是______到______。
答案:-32767,32767(在16位系统中)7. 表达式 (a > b) ? (a) : (b) 是一个______表达式,用于返回a 和b中的______值。
答案:三元,较大8. C语言中,数组的索引从______开始。
答案:09. 函数声明必须在函数定义之前,或者在______中声明。
答案:头文件10. C语言中,指针是一种变量,它存储了另一个变量的______。
答案:内存地址11. 字符串在C语言中以______字符结尾。
答案:'\0'12. 在C语言中,使用______关键字可以定义一个函数。
答案:void 或其他数据类型13. C语言中,结构体是一种______数据类型,它允许将多个不同类型的数据项组合成一个单一的类型。
答案:复合14. 动态内存分配使用的函数是______,______和______。
答案:malloc,calloc,realloc15. C语言中,______关键字用于定义一个全局变量。
答案:extern16. 在C语言中,______运算符用于计算两个数的乘积。
答案:*17. 函数的参数可以是______、______或______。
c语言期末考试试题及答案
c语言期末考试试题及答案一、选择题1. C语言中,用于表示整数常量的数据类型是()。
A. floatB. doubleC. intD. char答案:C2. 若有定义:int a = 5; float b =3.14; 则下列表达式中错误的是()。
A. a + bB. a * bC. a / bD. b % a答案:D3. C语言中,用于输入的函数是()。
A. printf()B. scanf()C. puts()D. gets()答案:B4. 下列关于数组的说法,正确的是()。
A. 数组大小是动态的,可以在运行时改变B. 数组一旦定义,其大小不可改变C. 数组可以存储不同类型的数据D. 数组的索引必须从0开始答案:B5. 在C语言中,一个合法的指针变量是()。
A. int *pB. *int pC. float *pD. p int答案:A二、填空题1. 在C语言中,使用关键字________定义一个全局变量。
答案:extern2. 若有定义:int x = 10; 则表达式 `x + (x++) * 2` 的值是________。
答案:303. 在C语言中,使用________可以将字符串常量输出到控制台。
答案:printf4. 一个整型变量可以存储的最大值(假设为int max)与最小值(假设为int min)的范围是________ < int max < int min。
答案:-32768, 32767(假设是16位整型)5. 函数________用于计算一个字符串的长度。
答案:strlen三、判断题1. C语言中的注释可以使用“//”或“/* */”两种形式。
()答案:正确2. 在C语言中,所有的函数都有返回值。
()答案:错误3. 指针变量的地址可以通过使用&运算符获得。
()答案:正确4. 在C语言中,long int和int类型的大小是相同的。
()答案:错误5. 使用switch语句时,case标签后的值必须是整型或字符型。
c语言期末考试考试题及答案
c语言期末考试考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,不正确的是()。
A. C语言是一种高级编程语言B. C语言具有结构化的特点C. C语言可以直接在操作系统上运行D. C语言具有跨平台的特性答案:C2. 在C语言中,用于定义整型变量的关键字是()。
A. intB. floatC. charD. double答案:A3. 下列选项中,不是C语言中的运算符的是()。
A. %B. &&C. /D. #答案:D4. C语言中,用于定义一个函数的关键字是()。
A. functionB. defC. voidD. int答案:C5. 在C语言中,以下哪个选项是正确的字符串定义方式?()A. char str[10] = "Hello";B. char str[] = "Hello";C. char str[10] = 'Hello';D. char str = "Hello";答案:B6. 下列关于C语言数组的描述中,正确的是()。
A. 数组可以存储不同类型的数据B. 数组的索引从0开始C. 数组的大小在定义后可以改变D. 数组可以存储字符串答案:B7. 在C语言中,用于输入输出的库函数是()。
A. math.hB. stdio.hC. string.hD. time.h答案:B8. 下列关于C语言指针的描述中,不正确的是()。
A. 指针可以存储变量的地址B. 指针可以作为函数的参数C. 指针可以存储字符串D. 指针不能直接存储字符串答案:D9. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A10. 下列关于C语言文件操作的描述中,不正确的是()。
A. 文件操作需要包含stdio.h头文件B. 文件指针用于指向文件的当前位置C. 文件操作使用fopen函数打开文件D. 文件操作使用fclose函数关闭文件答案:A二、填空题(每题3分,共30分)1. C语言中,用于定义一个常量的关键字是____。
2022年景德镇学院公共课《C语言》科目期末试卷B(有答案)
2022年景德镇学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。
char cl,c2;scanf("%4c%4c",&cl,8&c2);2、结构化程序由________、________ 、________ 3种基本结构组成。
3、C语言的源程序必须通过【】和【】后,才能被计算机执行。
4、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为_______。
5、若有定义语句:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为_______6、设x=10100011,若要通过x*y使x的高4位取反,低4位不变,则y的二进制数是_______。
7、执行下面程序段后,k的值是_______。
k=1;n=263;do{k*=n%10;n/=10;} while(n);8、设有宏定义如下:#define MIN(x,y)(x)>(y)?(x):(y)#define T(x,y,r)x*r*y/4则执行以下语句后,s1的值为_______,s2的值为_______。
int a=1,b=3,c=5,s1,s2;s1=MIN(a=b,b-a);s2=T(a++,a*++b,a+b+c);9、设有以下宏定义:#define WIDTH80#define LENGTH(WIDTH+40)则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。
10、若有以下定义和语句:int*p[3],a[6],i;for(i=0;i<3;i++)p[i]=8&a[2*i];则*p[0]引用的是a数组元素_______,*(p[1]+1)引用的是a数组元素_______。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
景德镇陶瓷学院期末考试复习资料C语言基础知识1. 每个C程序有且只有一个主函数main(),且程序必须从main()函数开始执行,并在main() 函数中结束。
2. 在C语言中,用e来表示科学计数法时,规定在e的前面必须有数字,后面必须为整数。
3. 用单引号括起来的一个字符常量只能存放一个字符;C语言中没有字符串变量,只能用字符数组来存储字符串。
4. 外部变量在编译时由系统分配永久的内存空间,所以外部变量的类型不是自动存储类别。
5. 在一个函数内的复合语句中定义的变量,只能在这个复合语句范围内有效。
6. 用sizeof(int)计算int类型数据的字节数。
7. C语言运行时,首先系统检查语法的正误,再运行程序的语法;C语言中,可以在一个函数中嵌套一个函数,但是不能在一个函数中定义一个函数;只有在函数外部定义的函数才是外部函数;C语言的子程序有过程和函数两种。
8. 预处理命令行的位置没有规定,只是习惯放在前面;在源文件中的可以有多条预处理命令,但一行只能写一条;宏名的大写只是习惯性的表示;宏替换不仅不占用运行时间还不分配内存空间。
9. feof函数的作用是检查文件是否结束,当结束时返回的值为非零,否则为零。
10. 当定义了数组后,在给其赋值时,不能直接把字符串赋给数组名。
11. 在赋值表达式中,赋值运算符“=”右侧不能为表达式;在求余运算符中的两侧都必须为整型;在强制类型转换时,类型名应用括号括起来。
12. 静态局部变量,只有当程序结束后,其值才释放。
13. 当调用函数时,实参是一个数组名,则向函数传送的是数组每一个元素的地址。
14. 算法的特点为有零个或多个输入,有一个或多个输出,当相同的输入时,其结果相同;算法正确的程序最终一定会结束。
15. 在C语言中,预处理命令行都以“#”开头;当需要时才用#include<stdio.h>;预处理的作用就是实现宏定义和条件编译。
16. 当数组元素的下标超出了定义的下标范围时,系统不给出“下标越界”的字样,而是得出错误的答案,因此在编程时务必检查下标是否越界。
17. 共用体变量不能作为函数的参数,也不能使函数带回共用体变量。
18. 指向函数的指针变量的定义形式为:数据类型(*指针变量)();,因此其为指向函数的指针变量。
19. 用C语言编写的代码程序是源程序,只有通过编译、连接才能进行。
20. 在说明为static时,其生存期得到延长,而其作用域并没有改变,在定义后系统会自动帮它赋值为0,static为关键字不能被用作它用。
21. 频繁地使用空语句会降低程序的可读性和运算速度。
22. 运算符%两边都应是整数,赋值语句左边应该是变量,而非表达式,强制转换语句强制类型应加括号。
23. 在逻辑运算符中,其两侧的运算符对象为任意合法的表达式即可。
24. 函数fread(&Iarray,2,16,fp)的功能是,从fp所指的数据文件中读取16次2字节的数据存储到数组Iarray中。
25. 整个流式文件也可以随机存取数据,C语言文件中有好多函数可以达到写入数据时,未经输入数据,达到不覆盖的目的,在进行写操作时,系统会自动关闭文件。
26. 使用putchar、getchat、puts、gets、printf、scanf函数时,必须在程序的开头出现包含头文件#include”stdio.h”的命令行,而使用字符串处理函数时,必须在程序的开头出现包含头文件#include”string.h”命令行,而使用数学函数时,必须在程序的开头出现包含头文件#include”math.h”的命令行。
27. 一个斜杠与小于等于127任意数字按一个字符计算,一个斜杠与任意一个字符按一个字符计算。
28. 一个C程序可以有一个或多个程序文件,也可以有一个或多个函数,所以一个C语言程序可以实现多种算法。
29. 根据C语言规定,注释语句可以换行写,并且一个“/*”和其后紧跟的第一个“*/”中间的部分是注释内容,且注释内容不参与程序的运行。
例如:b=0; /*b=20;给b赋值*/ 则b=0;。
30. sizeof是求字节数的运算符,包括‘\0’,而strlen是求字符串的实际长度的函数,不包括‘\0’,以‘\0’作为结束。
31. 在函数声明时,其中的形参变量、个数、函数的类型必须一致。
32. C语言源程序经编译后生成后缀为.obj的目标程序;C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件;用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中。
并不是源程序中的所有行都参加编译。
在条件编译形式下,相关内容只在满足一定条件时才进行编译。
33. switch括号后的表达式可以使任何表达式;case后的表达式必须是常量表达式,常量表达式中不能出现变量,且类型必须是整数、字符型或枚举型。
34. C程序必须由一个或一个以上的函数组成;函数调用可以作为一个独立的语句存在;若函数有返回值,必须通过return语句返回。
35. 在C语言中,数据只能从实参单向传递给形参,称为“按值”传递。
【在实参传递到形参时,是数值传递,而不是地址传递,形参中值的改变不会影响实参中的值。
】 36. 可以用typedef 声明新的类型名来代替已有的类型名,而不能增加新的类型。
37. 在没有限制输出宽度时,一般浮点数的小数位数是6位,不管输出格式是%f或lf%均如此。
38. C语言中,函数的隐含存储类别是无存储类别。
39. 当实参传递到形参时,地址传递时形参的改变影响实参。
40. 串的长度指的是串中的字符的个数,且其字符个数可以为零。
41. C语言中数据类型有整型、实型、字符型等,实行数据分为单精度型和双精度型两种。
42. 整型数组只能一个一个地输入或输出,而在字符型数组中可以对字符串整体地输入与输出。
43. C语言中,文件型指针变量的定义形式为:FILE *文件型指针名;。
C语言中对二进制文件的访问速度比文本文件快;C语言中,随机文件以二进制代码形式存储数据;C语言中的文本文件以ASCII码形式存储数据。
44. 因为#define是宏定义的标志,而不是C语句,而printf是输出函数,因此其是C语句。
45. 在实参传递给形参时,地址传递时能够改变,而数值传递时则不变。
46. 在scanf函数中,必须含有输入项,并且需含有与之一一对应的转换说明符,在scanf函数的格式字符前可以加入一个正整数指定输入数据的宽度,但不可以实数指定小数位的宽度,输入项是地址表达式。
47. switch语句使用注意事项:(1)switch语句与if语句不同,仅能判断一种关系:是否恒等;(2)switch语句中case子句的常量可以使整型常量、字符型常量、枚举型数据,或是整型常量表达式,不允许变量;(3)在同一个switch中,case子句的常量不能相同,在嵌套的switch 语句中,不同层次的switch之间,可有相同的常量;(4)default子句可以省略。
例如:default:printf(“E\n”);(5)case和default子句只能在switch语句中使用,且case和default只起标号作用,可出现在switch中的任何位置;(6)case和default子句后面的语句序列允许由多个可执行语句组成,且不必用“{}”括起来,也可以为空语句;(7)switch 语句中可省略break语句,但省略后会改变流程。
48. break语句是限定转向语句,它使流程跳出所在的结构,把流程转向所在结构之后。
continue语句被称为继续语句。
该语句的功能是使本次循环提前结束,即跳过循环体中continue 语句后面尚未执行的循环体语句,继续进行下一次循环的条件判别。
49. 在C语言中,一个程序必须有一个main()函数,但是其文件就不一定,因为其可以通过链接来实现多个子函数放到这个主函数中,主函数的位置是不固定的,可以根据自己的爱好和习惯来使用,在C语言中任何函数都不能调用主函数,且与函数的位置有关。
在C程序的函数中不能定义另一个函数。
50. 在用fprintf输入时,要将其转换为二进制数形式放到文件中。
51. 由C语言构成的指令序列称为C源程序,源程序文件的后缀为“.c”。
而目标程序为“.obj”,可执行程序为“.exe”。
52. 在C语言中,合法的标识符可以由字母、数字和下划线组成,且第一个字符必须为字母或下划线。
53. C语言规定必须以main作为主函数名。
程序要从main()函数开始执行,最后在main()函数中结束。
54. 赋值运算符左侧的操作数必须是一个变量。
55. 在C语言中,函数的实参单元与形参单元在内存中分配不同的存储单元。
56. 在一个C语言源程序文件中所定义的全局变量,其作用域为:由具体定义位置和extern说明来决定范围。
【全局变量是在函数外部任意位置上定义的变量,它的作用域是从变量定义的位置开始,到整个源文件结束止。
当全局变量定义在后,引用它的函数在前时,应该在引用它的函数中用extern对此全局变量进行说明,以便通知编译程序该变量是一个已在外部定义了的全局变量,这时全局变量的作用域从extern说明处起,延伸到该函数末尾。
】57. C语言中,凡是以“#”号开头的行,都成为“编译预处理”。
对C原程序进行编译前,由编译预处理程序对这些变异预处理命令进行处理。
58. typedef语句的作用仅仅是用“标识符”来表示已存在的“类型名”,并未产生新的数据类型。
59. 共用体变量中的所有成员共享一段公共存储区,所有成员的首地址相同。
在每一个时刻所有的成员中只有一个有效,即只有最后一个被赋值的成员有效,其余的成员无效。
60. C语言中注释可以出现在任意位置;C语言一行内可以写多个语句,一个语句可以写在多行上;C语言编写的程序可以放在多个程序文件中。
61. 标识符只能由数字、字母和下划线组成,并且只能以字母和下划线开头。
62. 在用基本输出语句printf时,格式说明与输出项的个数应该相同。
如果格式说明的个数少于输出项的个数,多余的输出项不予输出,如果格式说明个数多余输出项个数,则对于多余的格式项输出不定制或0。
63. 二维数组定义和初始化允许省略行下标,不允许省略列下标。
64. 预处理命令行是在系统对原程序进行编译之前进行处理的,不是在程序执行的过程中。
65. gets和getchar函数用于从标准输入设备终端读入字符串和字符,并非从磁盘文件读入。
66. 动态变量和静态变量都是内存变量,而寄存器变量不保存在内存上,而是直接存储在CPU的寄存器中。
变量的存储类别有自动、静态、寄存器、外部。
67. C语言的源程序是由函数构成的,其基本单位是函数,每一个函数完成相对独立的功能,其中至少包括一个主函数;C语言的书写格式自由,一行可写多条语句,一条语句也可写在不同行上;C语言规定每个语句以分号结束。