14639关于C (一)期末考试.
C语言期末考试题及其答案

C语言期末考试题及其答案------------------------------------------作者------------------------------------------日期语言期末考试题及其答案一选择题( 分,每小题 分)语言源程序的基本单位是()。
✌过程 函数 子程序 标识符下列程序的输出结果是()。
❍♋♓⏹☎ ✆♓⏹♦ ♋♌ ☐❒♓⏹♦♐☎✂♎⏹✂♌♌♋✆❝✌ 不确定值假设变量♋♌均为整型,表达式☎♋♌♋♌✍♋♌♋♌✆的值是()。
✌ 设♋为♓⏹♦型变量,执行下列赋值语句后,♋的取值分别是()。
♋ ♋☎♓⏹♦✆ ♋✌ 设有如下程序段,下面描述中正确的是()。
♓⏹♦ ♦♒♓●♏☎✆ ✌ 循环执行一次 循环是无限循环 循环体语句一次也不执行循环体语句执行一次以下程序的输出结果为()。
♓⏹♦ ♓❖☐♓♎ ☐❒♦☎ ✆♐☐❒☎♓♓♓✆☐❒♓⏹♦♐☎✂♍✂✉✆☐❒♓⏹♦♐☎✂♦✂✆ ❝❍♋♓⏹☎ ✆♐☐❒☎♓♓♓✆ ❒♓⏹♦♐☎ ✆ ❝✌ ✉✉✉ ✉✉✉ ✉✉✉ ✉✉✉ ✉✉✉ ✉✉✉ ✉✉✉ ✉✉ ✉ 在 语言程序中,以下说法正确的是()。
✌函数的定义可以嵌套 但函数的调用不可以嵌套函数的定义不可以嵌套 但函数的调用可以嵌套函数的定义和函数的调用都不可以嵌套函数的定义和函数的调用都可以嵌套以下函数调用语句中含有()个实参。
♐◆⏹♍☎☎♏♏✆☎♏♏♏✆✆✌ 语法错误以下程序的输出结果为()。
大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案在本次大一C程序设计的期末考试中,我们精心准备了以下题目,旨在考察同学们对C语言基础知识的掌握程度以及编程能力。
以下是考试题目及参考答案。
一、选择题(每题2分,共20分)1. C语言中,哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable-nameC. _variableD. variable$name答案:C3. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A4. 若有以下代码片段:```cint a = 5;int b = 10;a = b;```执行后,变量a的值是多少?A. 5B. 10C. 15D. 0答案:B5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. 以上都是答案:D6. C语言中,哪个函数用于输入字符?A. scanf()B. printf()C. getchar()D. getc()答案:C7. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. do-while8. 在C语言中,哪个关键字用于定义数组?A. arrayB. listC. vectorD. int[]答案:D9. 下列哪个选项是C语言中的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello" "World"D. 'Hello' 'World'答案:A10. 在C语言中,哪个函数用于输出格式化的字符串?A. printf()B. scanf()C. sprintf()D. fprintf()答案:A二、填空题(每空2分,共20分)1. 在C语言中,使用____关键字可以定义一个函数。
c语言期末试题及答案及详解

c语言期末试题及答案及详解本文将提供C语言的期末试题及答案,并对每个问题进行详细解析,旨在帮助读者更好地理解和掌握C语言知识。
每个问题都将以清晰的排版和通顺的语句进行阐述,以确保文章的可读性和表达流畅。
试题一:1. 以下代码段输出的结果是什么?```c#include <stdio.h>int main() {int x = 6 / 2 * (1 + 2);printf("%d", x);return 0;}```答案及详解:输出的结果是9。
这个问题考察了C语言中的运算符优先级。
根据优先级规则,先计算括号内的表达式1 + 2,结果为3。
然后进行乘法运算6 / 2 * 3,结果为9。
最后通过printf函数将结果打印出来。
试题二:2. 以下代码段中存在什么错误,并进行改正。
```c#include <stdio.h>int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", num1, num2);int sum = num1 + num2;printf("两个整数的和为:%d", sum);return 0;}```答案及详解:代码存在的错误是scanf函数参数传递时变量名未加取地址符&,需要改正为scanf("%d %d", &num1, &num2)。
scanf函数用于从标准输入读取数据,需要通过取地址符&将变量的地址传递给scanf函数,以便将读取的数据存储到相应的变量中。
在给定的代码中,应该在num1和num2前面加上&,即scanf("%d %d", &num1, &num2)。
试题三:3. 下面的代码中,函数fun的返回值是什么?```c#include <stdio.h>int fun(int *arr, int n) {if (n == 0) {return 0;}return (*arr) + fun(arr+1, n-1);}int main() {int arr[] = {1, 2, 3, 4, 5};int sum = fun(arr, 5);printf("数组元素的和为:%d", sum);return 0;}```答案及详解:函数fun的返回值是数组元素的和。
c期末考试试题及答案

c期末考试试题及答案### 期末考试试题及答案#### 一、选择题(每题2分,共20分)1. 计算机科学中的“冯·诺依曼”架构指的是什么?A. 一种编程语言B. 一种操作系统C. 一种计算机存储结构D. 一种计算机网络协议2. 在数学中,下列哪个选项表示“或”逻辑?A. ∧B. ∨C. ⇒D. ¬3. 根据牛顿第三定律,作用力与反作用力的关系是什么?A. 相等且方向相反B. 相等且方向相同C. 不相等且方向相反D. 不相等且方向相同4. 英语中,“as well as”用于连接两个并列的成分,其含义是什么?A. 以及B. 而不是C. 但是D. 尽管5. 在经济学中,GDP代表什么?A. 国内生产总值B. 国内生产成本C. 国内生产利润D. 国内生产投资6. 根据达尔文的进化论,物种进化的驱动力是什么?A. 突变B. 自然选择C. 人工选择D. 环境适应性7. 在化学中,pH值用来衡量什么?A. 溶液的浓度B. 溶液的酸碱性C. 溶液的离子强度D. 溶液的溶解度8. 根据相对论,时间旅行理论上可能吗?A. 是的,只要超过光速B. 是的,只要存在闭合时间曲线C. 不可能,因为时间是线性的D. 不可能,因为相对论禁止超光速9. 在心理学中,弗洛伊德的“超我”是什么?A. 潜意识B. 意识C. 无意识D. 道德监督者10. 在物理学中,光的波粒二象性指的是什么?A. 光同时具有波和粒子的特性B. 光只具有波的特性C. 光只具有粒子的特性D. 光既没有波的特性也没有粒子的特性#### 二、简答题(每题10分,共30分)1. 解释什么是“二进制”并举例说明其在计算机科学中的应用。
2. 描述牛顿第二定律,并给出一个实际生活中的例子。
3. 解释什么是“通货膨胀”,并简述其可能带来的社会经济影响。
#### 三、论述题(每题25分,共50分)1. 论述互联网对现代社会的影响,并讨论其正面与负面影响。
大学c期末考试题及答案

大学c期末考试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是?A. varB. letC. intD. define答案:C2. 下列哪个选项不是C语言的标准输入输出库函数?A. printf()B. scanf()C. coutD. getchar()答案:C3. 在C语言中,哪个关键字用于定义函数?A. functionB. defC. funcD. void答案:D4. 下列哪个选项是C语言中的合法整型常量?A. 123B. 0x1AC. 0b1010D. 1.2E35. C语言中,用于实现循环结构的关键字是?A. repeatB. loopC. whileD. do答案:C6. 在C语言中,哪个运算符用于取模?A. %B. //C. /D. \*答案:A7. C语言中,哪个关键字用于定义数组?A. arrayB. listC. vectorD. int[]答案:D8. 下列哪个选项是C语言中的合法浮点型常量?A. 3.14B. .14C. 3e-2D. All of the above答案:D9. 在C语言中,哪个关键字用于定义结构体?B. classC. unionD. enum答案:A10. C语言中,哪个关键字用于定义指针?A. ptrB. pointC. *D. ref答案:C二、填空题(每题3分,共15分)1. C语言中,用于定义字符型变量的关键字是________。
答案:char2. C语言中,用于定义布尔型变量的关键字是________。
答案:_Bool 或 bool(取决于编译器)3. C语言中,用于定义枚举型变量的关键字是________。
答案:enum4. 在C语言中,________运算符用于逻辑与操作。
答案:&&5. C语言中,________运算符用于逻辑或操作。
答案:||三、简答题(每题10分,共20分)1. 请简述C语言中数组和指针的区别。
大一c语言期末考试题及答案解析

大一c语言期末考试题及答案解析一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. floatC. doubleD. all of the above答案:D2. C语言中,用于定义单精度浮点数的关键字是?A. intB. floatC. doubleD. char答案:B3. 下列哪个函数用于将浮点数转换为字符串?A. sprintfB. printfC. scanfD. strcat答案:A4. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A5. 下列哪个选项不是C语言中的控制结构?A. ifB. forC. whileD. switch答案:D6. C语言中,用于定义字符数组的关键字是?A. charB. stringC. arrayD. vector答案:A7. 下列哪个函数用于输出格式化的字符串?A. printfB. scanfC. fprintfD. sprintf答案:A8. C语言中,用于定义整型变量的关键字是?A. intB. floatC. doubleD. char答案:A9. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ||D. ==答案:D10. 在C语言中,用于定义布尔变量的关键字是?A. boolB. intC. charD. float答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:___________。
答案:int variable_name;2. C语言中,用于输入一个整数的函数是:___________。
答案:scanf3. 如果要定义一个字符串常量,应该使用___________符号。
答案:"4. 在C语言中,使用___________关键字可以定义一个函数。
答案:void 或者其他返回类型5. C语言中,用于定义一个数组的语法是:___________。
C语言期末考试试题及答案

C语言期末考试试题及答案------------------------------------------作者------------------------------------------日期C语言期末考试试卷共 页 第 页一、单选题(每题 分,共 分).以下叙述正确的是 ♉♉♉♉♉♉ 。
✌) 程序的每行只能写一条语句 ✆语言本身没有输入输出语句)在 程序中,注释说明只能位于一条语句的后面)在多函数的程序中,❍♋♓⏹函数必须放在其它子函数的定义之前.以下不正确的常量表示形式是 ♉♉♉♉♉♉ 。
✌✆ ✆✠☞ ✆‘ ’✆ ☜ 以下不正确的变量名是 ♉♉♉♉♉♉ 。
✌✆ ✆ ♉❍♋⌧ ✆ ✋☠❆✆ ✞ 以下正确的一组语句是 ♉♉♉♉♉♉♉♉。
✌✆ ♓⏹♦ ⌧⍓✆ ♓⏹♦ ⏹ ♦♍♋⏹♐☎✂♎✂⏹✆♓⏹♦ ♋☯⏹✆ ♍♒♋❒ ♋✉☐ ☐♋ ✆ ♍♒♋❒ ♦☯ ♦✂♒♏●●☐✂ 若以下变量均已正确定义和赋值,则正确的语句是 ♉♉♉♉♉♉♉♉。
✌✆ ♋♌✆ ⍓⌧ ✆ ⌧⍓ ✆ ⏹✉.下面各组中与给出的程序段功能不等价的是 ♉♉♉♉♉♉♉♉。
♓♐☎♋✆ ♌♏●♦♏ ♓♐☎♋✆ ♌♏●♦♏ ♌✌✆♓♐☎♋✆ ♌ ✆♓♐☎♋✆ ♌✆♓♐☎♋✆ ♌ ✆♓♐☎♋✆♓♐☎♋✆ ♌ ♏●♦♏♓♐☎♋✆ ♌ ♓♐☎♋✆ ♌♓♐☎♋✆ ♌ ♓♐☎♋✆ ♌♏●♦♏ ♌ ♓♐☎♋✆ ♌♏●♦♏ ♌♓♐☎♋✆ ♌ 运行下面程序段,若输入♋♌♍✁,则程序输出是:♉♉♉♉♉♉♉♉。
♍♒♋❒ ♍♓⏹♦ ❖❖♦♒♓●♏☎☎♍♑♏♦♍♒♋❒☎✆✆✐✁✆ ♦♦♓♦♍♒☎♍✆ ♍♋♦♏ ♋❖♎♏♐♋◆●♦ ❖❖♍♋♦♏ ♍❖❝❝☐❒♓⏹♦♐☎✂❖♎❖♎⏹✂❖❖✆✌✆ ✆ ✆ ✆共 页 第 页共 页 第 页共 页 第 页.对♐☐❒☎表达式 表达式 ✆⑤❝可以理解为:♉♉♉♉♉♉♉♉。
C语言期末考试试题及详细答案

选择练习题1、C语言中最简单的数据类型包括(B )。
A、整型,实型,逻辑型B、整型,实型,字符型D、整型,实型,逻辑型,字符型C、整型,字符型,逻辑型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、在任意一空格处换行)是合法的用户标识符。
C6、下述标识符中,(标识符由字母,数字和下划线组成且第一个字符必须为字母或下划线ab* D、B、void C、_student A、A&B7、在C语言中,字符型数据在内存中以( B )形式存放。
A、补码B、ASCII码C、反码D、原码8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为(B )。
A、autoB、externC、staticD、Registerauto自动变量9、以下关于switch语句和break语句的描述中,只有(B)是正确的。
register寄存器变量extern 外部变量A、在switch语句中必须使用break语句static静态变量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)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
case 2: cout<<"数组元素为降序!\n"; break;
default: cout<<"数组元素均相等!\n";
}
}
int main(void)
{ int a[]={1,2,3,4,5,6,7},
b[]={4,5,1,2,3,6,8},
c[]={7,6,5,4,3,2,1};
fun_p(a,7); fun_p(b,7); fun_p(c,7);
•分析: sum1和sum2分别存放两个数的因子和 算法:对1~5000内的每个数i,先求其因子及因子 和sum1;再求sum1的因子及因子和sum2。若i等于 sum1的因子和sum2,则i和sum1就是亲密对数。
#include<iostream> using namespace std;
•考试重点:基本数据结构 –基本数据类型的单个变量的定义和使用 能根据所解决问题的数据的取值范围,选择合适 的基本数据类型来定义必要的变量存放数据。 –基本数据类型的数组的定义和使用。 –字符型数组的定义和使用。
最后希望每位同学 认真复习,取得优异成绩!
读程序,写结果
例1 以下程序输出的第一行至第三行分别是 1 、 5 、 25 。
•考试重点:基本算法 –初等数学问题:素数、最大公约数与最小公倍数、 三角形面积、数制转换、最大值、最小值、总和、 均值等。 –方程求根:牛顿切线法、弦截法和二分法。 –矩阵:加、减、乘和转置。 –排序:选择法、冒泡法和插入法。 –查找:顺序和折半查找。 –数值计算:矩形法和梯形法积分,级数求和等。 –字符串:比较、复制、连接、删除、排序、查找, 统计单词个数、字符串的行数,加密/解密等。 –递归:常见基本算法的递归实现。
{ print_sum(i);
//输出i的因子和
print_sum(sum1); //输出sum1的因子和
cout<<i<<"与"<<sum1<<"为亲密对数.\n\n";
}
} return 0;
避免重复统计亲密对数
}
程序运行结果为: 220的因子和:1+2+4+5+10+11+20+22+44+55+110=220 284的因子和:1+2+4+71+142=284 220与284为亲密对数.
cout<<“字母”<<char(i+‘a’)<<“或” <<char(i+'A')<<':'<<c[i]<<endl;
return 0; }
•源程序 #include<iostream> using namespace std;
int test_order(int*p,int n) { int i=0;
LPTR p1=p; while(i<n-1 && *p==*(p+1)) p++,i++; if( (1) ) return 3;
if(*p<*(p+1)){ for(;i<n-1;i++,p++) if( (2) ) return 0; return 1;
}
int main(void)
{ int x=20;
f(&x,5);
cout<<x<<'\n'; //③
return 0; }
解:画函数嵌套调用图来解答。如图所示。
完善程序
•例2 函数test_order(LPTR p,int n)的功能是:判断p 所指向数组中元素的有序性,数组的元素个数为n。若 数组中的元素无序,则返回0;若数组中的元素按升序 排列,则返回1;若数组中的元素按降序排列,则返回 2;若数组中的各元素值都相等,则返回3。
•考试范围: –第1章~第7章、8.1和8.2, –作业和实验 –下列内容不做要求: 2.3.10 位运算 3.3.5 设置填充字符 4.5.3 goto语句简介 6.4 程序的多文件组织
•考试重点:基本语法
–标识符、基本数据类型、运算符、表达式、常用 库函数。
–基本数据类型数据的输入/输出
return 0; }
(1) i==n-1 (2) *p>*(p+1) (3) *p<*(p+1)
或*p<=*(p+1) (4) test_order(x,n)
程序设计举例
•例3 找出5000以内的亲密对数。所谓“亲密对数”是 指甲数的所有的因子和等于乙数,乙数的所有的因子 和等于甲数,那么甲、乙两数为亲密对数。例如: 220的因子和:1+2+4+5+10+11+20+22+44+55+110=284 284的因子和:1+2+4+71+142=220
–选择语句(if、switch)、循环语句(for 、while、 do…while)及转向语句(break、continue、 return) 。
–函数的定义和调用,标识符的作用域、变量的存 储种类,指针和引用做函数的参数,递归函数。
–编译预处理的概念,宏的定义、调用。
–数组的定义、初始化,数组做函数参数。
•例4 输入一行字符串(不超过1024个字符),分别统计 字符串中26个英文字母出现的次数(不区分大小写)。
•分析: int c[26];//分别累计'A'~'Z'字符和 //'a'~'z'字符出现的次数。例如, //c[0]累计字符'A'和'a'出现的次数 char s[1024];//存放输入的字符串
#include<iostream>
using namespace std;
&f 3
&x 5 void f(int*s,int n)
void f(int*s,int n)
{ int f=10;
{ int f=10;
&f 1
void f(int*s,int n) { int f=10;
if(n==1||n==2)*s=1; else{
if(n==1||n==2)*s=1; else{
f(&f,n-2);
f(&f,n-2);
*s=f*5;
*s=f*5;
cout<<f<<'\n';//② }
cout<<f<<'\n';//① }
}
}
if(n==1||n==2)*s=1; else{
f(&f,n-2); *s=f*5; cout<<f<<'\n'; }
cout<<'='<<i<<endl; }
int main(void) { int sum1,
sum2;
//存放i的因子和 //存放sum1的因子和
for(int i=1;i<5000;i++)
{ sum1=sum(i);
//求i的因子和
sum2=sum(sum1);
//求sum1的因子和
if(i==sum2&& i<sum1 )//若i与sum1是亲密对数
若s[i]是小写字母,则它对应的计数器为c[s[i]-’a’] 若s[i]是大写字母,则它对应的计数器为c[s[i]-’A’]
#include<iostream> using namespace std; void count(char s[],int c[]) { for(int i=0;s[i];i++)
1184的因子和:1+2+4+8+16+32+37+74+148+296+592=1184 1210的因子和:1+2+5+10+11+22+55+110+121+242+605=1210 1184与1210为亲密对数.
2620的因子和:1+2+4+5+10+20+131+262+524+655+1310=2620 2924的因子和:1+2+4+17+34+43+68+86+172+731+1462=2924 2620与2924为亲密对数.