C_9练习题答案

一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)

  1. C语言程序中,要使用数学库函数(例sqrt、sin等),需要在程序最前面加上包含文件的预处理命令(C)。

A. #include <string.h>
B. #include <stdio.h>
C. #include <math.h>
D.不需要加什么

2下面四个选项中,均是不合法的用户标识符的选项是(C)

A.A、P_0、do
B. float 、1a0、A
C.b-a、goto、int
D._123、temp、INT

  1. 以下叙述中正确的是(D)

A. C语句必须在一行内写完
B. C程序中的每一行只能写一条语句
C.C语言程序中的注释必须与语句写在同一行
D. C语句必须以分号结束

4.下面四个选项中,均是合法整形常量的选项是(A)

A.160、-O、011al
B.-Oxcdf、01a、Oxe
C.-01、986,012、0668
D.-0x48a、2e5、0x

5.如果变量 x、y已经正确定义,下列哪个选项的语句不能正确将x、y的值进行交换(D)。

A. x=x+y, y=x-y, x=x-y;
B. t=x, x=y; y=t;
C. t=y, y=x, x=t;
D. x=t, t=y, y=x;

6,下列运算符中,优先级最低的是(B)

A.*
B.=
C.==
D.%

7.执行printf(“%f”,(x=3,y=5,x>y?1:1.5);后的输出结果是(D)

A.语法错误
B.1
C. 1.5
D.1.500000

8.设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?a:d的结果为(A)

A.1
B.2
C.3
D.4

9.设字符型变量x的值是064,表达式-x><28x的值对应的8进制值是(B)。

A. 333
B. 0333
C. X333
D.020

10.若变量已正确定义,执行scanf(“%d%c%f”,&opl,&op,&op2);输入()之后,op1的值为1,op的值为’*,op2的值为2.0。D

A.12.
B.1
2
C.1 2.0
D.1
2

11.有如下程序:

#include <stdio.h>int main() {int a = 2, b = -1, c = 2;if (a)if (b < 0)c = 0;elsec++;printf("%d\n", c);return 0;
}

该程序的输出结果是(A)

A.0
B.1
C.2
D.3

12.以下正确的描述是(B)

A. continue语句的作用是结束整个循环的执行
B.只能在循环体内和switch语句体内使用break语句
C.在循环体内使用break语句或continue语句的作用相同
D.从多层循环嵌套中退出时,只能使用 continue语句

  1. 假定char类型变量占用1个字节,且数组定义如下char str[81];,则数组str在内存中所占字节数是(D)

A.0
B.10
C. 80
D.81

14.以下关于二维数组初始化的说法,正确说法的个数是©。
(1)语句int a[2][3]=(0);能将 int型数组a中的每个元素全部初始化为0。
(2)语句int a[2][3]=0;能将int型数组a中的每个元素全部初始化为0。
(3)语句int a[2][3];能将int型数组中a的每个元素全部初始化为0。
(4)语句int a[2][3]={{1.2].(3.4),(5.6}]:能将 int型数组元素a[0][0],a[0][1].a[0][2].a[1][0].a[11]a[1]2]依次初始化为1,2,3,4,5,6。
(5)语句int a][3]=(1,2,3,4,5,6);能将 int型数组元素a[0][0].a0][1],a[0][2].a[1]10;a111a[1][2]依次初始化为1,2,3,4,5,6。
(6)语句int a[][3]=[(1,2,3).[4,5,6)];能将int型数组元素a[0][0],a[0][1],a[0][2],a[1][0],a[1][1].a[1][2]依次初始化为1,2,3,4,5,6。

A.1
B.2
C. 3
D.4

  1. 下面描述正确的是(D)

A.两个字符串所包含的字符个数相同时才能比较字符串
B.字符个数多的字符串比字符个数少的字符串大
C.字符串“STOP”和“STOP”相等
D.字符串“That”小于字符串“The”

  1. 下面程序运行后的输出结果是(A)。
#include <stdio.h>int x, y;void Fun() {int a = 18, b = 16;x = x + a + b;y = y + a - b;
}int main() {int a = 9, b = 8;x = a + b;y = a - b;Fun();printf("%d, %d", x, y);return 0;
}

A.51,3
B.34,2
C. 17,1
D.前面都不正确

17.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(D)

A.函数调用可以作为独立的语句存在
B. 函数调用可以作为一个函数的实参
C.函数调用可以出现在表达式中
D.函数调用可以作为一个函数的形参

18,若有以下说明,且0<=i<10,则对数组元素的错误引用是(int a]= (0,1, 2,3,4,5, 6,7, 8,9), *p= a, i;
C

A.*(a+i)
B. a[p-a+i]
C. p+i
D. *(&a[i)

19.设有如下定义,则对data中的a成员的正确引用是(struet sk{ int a; float b;} data, *p=&data;
B

A. (*p).data.a
B. (*p).a
C. p->data.a
D. p.data.a

20,已有定义int k=2; int *ptrl, *ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是(B)

A. k= *ptrl +*ptr2;
B. ptr2 = k;
C. ptrl =ptr2;
D.k=ptrl(*ptr2);

二、程序阅读题(本大题共5小题,每小题6分,共30分。请将程序的运行结构填写在答题纸的相应位置上。)
1__________
1#7#7#7
2#0#7#70
3#9#16#709

#include <stdio.h>void main() {int count = 0, s = 0, new_number = 0, L_number, digit, number;printf("Enter a number: ");scanf("%d", &number);L_number = number;if (L_number < 0)L_number = -L_number;do {digit = L_number % 10;s = s + digit;new_number = new_number * 10 + digit;count++;printf("%d#%d#%d#%d\n", count, digit, s, new_number);L_number = L_number / 10;} while (L_number != 0);
}
//输入907

2___5 11__

#include <stdio.h>int fun(int x, int y) {static int m = 0, i = 2;i += m + 1;m = i + x + y;return m;
}void main() {int j = 1, m = 1, k;k = fun(j, m);printf("%3d", k);k = fun(j, m);printf("%3d", k);
}

3___you name si:Li ming___

#include <stdio.h>
#include <string.h>int main() {char str1[20] = "your name is: ";char str2[10];int i = 0, j;j = strlen(str1);printf("Please input your name: ");gets(str2);while (str2[i] != '\0') {str1[j] = str2[i];i++;j++;}str1[j] = '\0';puts(str1);return 0;
}

4———nve—————

#include <stdio.h>int main() {int i;char a[4][6] = {"one", "two", "three", "four"};char *p[4], **s = p;for (i = 0; i < 4; i++)p[i] = a[i];printf("%c", *(*a + 1));printf("%c", **++s + 2);printf("%c", (*(p + 2))[3]);return 0;
}

5___Li____

#include <stdio.h>struct stu {int num;char name[10];int age;
};void fun(struct stu *p) {printf("%s\n", p->name);
}int main() {struct stu students[3] = {{1001, "Zhang", 20},{1002, "Wang", 19},{1003, "Li", 18}};fun(students + 2);return 0;
}

三、程序填空题(共35分。请将答案填写在答题纸的相应位置上。)
1.使用递归函数实现字符串的逆序输出。如输人abe,输出cba

*p
reverse_str(q)
putchar(*p)

#include <stdio.h>void reverse_str(char *p);int main() {char str[80];gets(str);reverse_str(str);return 0;
}void reverse_str(char *p) {char *q;q = p;if (——————————) {q=p+1;————————————————————}
}

2.输入一个非负整数,从高位开始逐位分割并输出它的各位数字。例如,输入9837,输出 9 8 3 7
t_number >= 10
pow*10
number/pow
number % pow

#include <stdio.h>int main() {int digit, number, pow, t_number;scanf("%d", &number);t_number = number;pow = 1;while (__________) {pow =________;t_number = t_number / 10;}while (pow >= 1) {digit = ________;number = ________;pow = pow / 10;printf("%d ", digit);}printf("\n");return 0;
}

四、编程题(本大题共2小题,1小题15分,2小题30分,共45分。请在答题纸的相应位置上作答。)
1.为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。编写程序计算电费。输入某用户的月用电量(单位:千瓦时)。输出该用户应支付的电费(元),结果保留两位小数;若量用电量小于0.则输出"Invalid Value!"。

#include <stdio.h>int main() {int dl;float df;scanf("%d", &dl);if (dl < 0) {printf("Invalid Value!");} else if (dl <= 50) {df = 0.53 * dl;} else {df = 0.53 * 50 + (dl - 50) * (0.53 + 0.05);}printf("%.2f", df);return 0;
}

2、数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和 19都是素数。编写程序验证

#include <stdio.h>
#include <math.h>int prime(long p);int main() {long n, pl, p2;scanf("%ld", &n);for (pl = 3; pl <= n / 2; pl += 2) {p2 = n - pl;if (prime(pl) && prime(p2)) {printf("%ld = %ld + %ld\n", n, pl, p2);break;}}if (pl > n / 2) {printf("偶数 %ld 不符合哥德巴赫猜想\n", n);}return 0;
}int prime(long p) {long e, i;e = sqrt(p);for (i = 2; i <= e; i++) {if (p % i == 0) {break;}}if (i > e) {return 1;  // Prime} else {return 0;  // Not prime}
}

3.无记名投票统计。下面给出了main)函数,请将其他函数补充完整,即写出i void vinput(int nint vD和 void prtResult(int n,int plint v)函数的定义
。#include <stdio.h>
#define NUM 20
void vInput(int n,int v[D;/
将n个人的投票结果保存到数组v中:
void prtResult(int n,int p.int v[]);
/*将n个投票结果,响]按候选人pli]进行统计,并输出投票结果:
void main()
{
int vote[NUM);
static int candidate[4]=(0);/候选人的初始票数均为0/
printf(“请对 3个候选人投票:n”);
vInput(NUM,vote);/*将投票结果保存到数组 vote 中prtResult(NUM,candidate,vote);/统计的票数并输出投票结果
}

#include <stdio.h>#define NUM 20void vInput(int n, int v[]);
void prtResult(int n, int p[], int v[]);int main() {int vote[NUM];static int candidate[4] = {0};vInput(NUM, vote);prtResult(NUM, candidate, vote);return 0;
}/* 将 n 个人的投票结果保存到数组 v 中 */
void vInput(int n, int v[]) {int i;for (i = 0; i < n; i++) {scanf("%d", &v[i]);if (v[i] < 1 || v[i] > 3)v[i] = 0; /* 对候选人投票统计无效票数 */}
}/* 将 n 个投票结果 v[n] 按候选人 p[] 进行统计,并输出投票结果 */
void prtResult(int n, int p[], int v[]) {int i;for (i = 0; i < n; i++) {++p[v[i]];}printf("候选人\t得票数\n");printf("----\n");for (i = 1; i < 4; i++) {printf(" %d\t%d\n", i, p[i]);}printf("弃权票:\t%d\n", p[0]);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/219721.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java内部类的使用

什么是内部类&#xff1a;在一个类的内部定义的类称为内部类 为什么用内部类&#xff1a;完成某些功能只在某个具体的外部类中使用&#xff0c;其他地方不需要再使用&#xff0c;这是可以将此功能定义在一个内部类中&#xff0c;而不需要单独创建一个类。 用内部类的好处在内…

在WPF窗口中增加水印效果

** 原理&#xff1a; ** 以Canvas作为水印显示载体&#xff0c;在Canvas中创建若干个TextBlock控件用来显示水印文案&#xff0c;如下图所示 然后以每一个TextBlock的左上角为中心旋转-30&#xff0c;最终效果会是如图红线所示&#xff1a; 为了达到第一行旋转后刚好与窗口…

日常记录软件操作

webstorm下载集成码云步骤 1&#xff1a;file>>>settings>>plugins &#xff0c;在marketplace&#xff0c;下载gitee&#xff1b; 2&#xff1a;重启编辑器 3&#xff1a;file>>>settings>>>version control >>> gitee ,添加对应用…

App防止恶意截屏功能的方法:iOS、Android和鸿蒙系统的实现方案

防止应用被截图是一个比较常见的需求&#xff0c;主要是出于安全考虑。下面将分别为iOS&#xff08;苹果系统&#xff09;、Android&#xff08;安卓系统&#xff09;及HarmonyOS&#xff08;鸿蒙系统&#xff09;提供防止截屏的方法和示例代码。 在企业内部使用的应用中&…

物联网架构之CDH

1、常规初始化操作 三个节点都需要执行 hostnamectl set-hostname cdhmaster yum -y install vim lrzsz net-tools cat >>/etc/hosts<<EOF 192.168.180.210 cdhmaster 192.168.180.200 cdhslave01 192.168.180.190 cdhslave02 EOF systemctl stop firewalld.s…

深入解析Freemarker模板引擎及其在Spring Boot中的高级整合

目录 引言1. Freemarker1.1.什么是Freemarker1.2 Freemarker模板组成部分1.3.优点 2. Spring Boot整合Freemarker2.1 配置2.2 数据类型 3. 案例总结 引言 Freemarker作为一款强大的模板引擎&#xff0c;与Spring Boot的整合能够极大地提升Web应用的开发效率和灵活性。本篇博客…

Java面试题(每天10题)-------连载(47)

目录 Mybatis篇 1、#{}和${}的区别 2、通常一个Xml映射文件&#xff0c;都会写一个Dao接口与之对应&#xff0c;那么这个Dao接口的工作原理是什么&#xff1f;Dao接口中的方法&#xff0c;参数不同时&#xff0c;方法能重载吗&#xff1f; 3、Mybatis是如何让进行分页的&am…

探索 Vim:一个强大的文本编辑器

引言&#xff1a; Vim&#xff08;Vi IMproved&#xff09;是一款备受推崇的文本编辑器&#xff0c;拥有强大的功能和高度可定制性&#xff0c;提供丰富的编辑和编程体验。本文将探讨 Vim 的基本概念、使用技巧以及为用户带来的独特优势。 简介和发展 1. Vim 的简介和历史 V…

axios全局封装取消请求,你可以创建一个 Axios 实例,并为该实例配置默认的 CancelToken

import axios from axios; // Axios 的 CancelToken const CancelToken axios.CancelToken; // 创建一个 Axios 实例 const instance axios.create(); // 用于存储所有的 cancel 函数 const pendingRequests new Set(); // 添加请求配置 instance.interceptors.…

发布jar包到maven中央仓库

1. 环境 在网上找的很多文章中写得都有很多问题&#xff0c;这里记录一下最近一次成功地发布jar包到maven中央仓库的过程。并附带上每一个步骤官方的指导链接。 系统&#xff1a;mac&#xff08;windows系统在下载辅助工具时不太一样&#xff0c;在配置上和mac系统没有区别&…

docker部署go gin框架 Linux环境

目录 文章目的是什么 环境介绍 Linux 环境下 docker 部署 go gin 详细步骤 部署 gin 文章目的是什么 假设我们学习了 go 语言&#xff0c;在 Linux 上安装了 go 相关的程序&#xff0c;也能直接运行&#xff0c;使用以下命令&#xff1a; go run main.go 假如代码是这样的…

算法中的最优化方法课程复习

算法中的最优化方法课程复习 单模函数、拟凸函数、凸函数证明证明一个线性函数与一个凸函数的和也是凸的 梯度线性规划标准形式以及如何标准化标准形式常见标准化方法线性化技巧 单纯形法二次规划无约束优化Nelder-Mead线搜索FR共轭梯度法例题 优化算法的选择、停止准则算法选择…

electron命令下载失败,手动安装教程

现象&#xff1a;pnpm i electron, 一直卡在提示错误node install.js 一 、下载需要的electron版本 地址 二、下载完毕&#xff0c;解压压缩包&#xff0c; 进入项目的node_modules/electron文件夹&#xff0c;创建dist文件夹&#xff0c;将下载的zip包里的文件复制到dist…

Docker笔记:docker compose部署项目, 常用命令与负载均衡

docker compose的作用 docker-compose是docker官方的一个开源项目可以实现对docker容器集群的快速编排docker-compose 通过一个配置文件来管理多个Docker容器在配置文件中&#xff0c;所有的容器通过 services来定义然后使用docker-compose脚本来启动&#xff0c;停止和重启容…

oracle 查看统计信息

统计信息在oracle中是非常重要的模块&#xff0c;就好似打仗时的侦察兵&#xff0c;提前了解敌情&#xff0c;来帮助CBO更好地生成执行计划。下面是一些常用地查看统计信息的语句&#xff0c;希望能帮助到大家。 表统计信息查看 select t.owner, t.table_name, t.num_rows, t…

考研真题c语言

【2016年山西大学考研真题】输入10个学生三门课的成绩&#xff0c;用函数实现&#xff1a;找出最高的分数所对应的学号和成绩。 1. 定义一个结构体 Student 来表示每个学生&#xff0c;包括学号和三门课的成绩。 c typedef struct { int studentID; int score1; i…

链路追踪详解(四):分布式链路追踪的事实标准 OpenTelemetry 概述

目录 OpenTelemetry 是什么&#xff1f; OpenTelemetry 的起源和目标 OpenTelemetry 主要特点和功能 OpenTelemetry 的核心组件 OpenTelemetry 的工作原理 OpenTelemetry 的特点 OpenTelemetry 的应用场景 小结 OpenTelemetry 是什么&#xff1f; OpenTelemetry 是一个…

DevEco Studio 鸿蒙(HarmonyOS)项目结构

DevEco Studio 鸿蒙&#xff08;HarmonyOS&#xff09;项目结构 一、操作环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、项目结构 创建简单的Hello World移动应用项目结构如下图 由上到下说明各个文件夹的作用 .hvigor&#xff1a;存…

阅读笔记——《UTOPIA: Automatic Generation of Fuzz Driverusing Unit Tests》

【参考文献】Jeong B, Jang J, Yi H, et al. UTOPIA: automatic generation of fuzz driver using unit tests[C]//2023 IEEE Symposium on Security and Privacy (SP). IEEE, 2023: 2676-2692.【注】本文仅为作者个人学习笔记&#xff0c;如有冒犯&#xff0c;请联系作者删除。…

智慧储能数字孪生:能源未来的智慧引擎

随着社会对清洁能源的需求不断增加&#xff0c;智能储能技术成为能源转型的关键驱动力。在这一领域中&#xff0c;数字孪生技术的应用为智慧储能带来了全新的可能性。数字孪生是指数字化、实时、可视化的模拟系统&#xff0c;通过复制现实世界中的对象或过程&#xff0c;为智能…