C++研发笔记12——C语言程序设计初阶学习笔记10

embedded/2024/11/14 8:33:01/

        本篇笔记是一篇练习文章,是对第二部分《初识C语言》的一个回顾,从而结束第二部分的学习

题目一

关于C语言关键字说法正确的是:( )

A.关键字可以自己创建

B.关键字不能自己创建

C.关键字可以做变量名

D.typedef不是关键字

【参考答案】B


题目二

用在switch语言中的关键字不包含哪个?( )

A.continue

B.break

C.default

D.case

【参考答案】C


题目三

下面哪个不是关键字:( )

A.int

B.struct

C.define

D.continue

【参考答案】C


题目四

关于数组描述错误的是:

A.数组是一组相同类型元素的集合

B.数组的下标是从1开始的

C.数组的下标是从0开始

D.数组如果初始化,可以不指定数组的大小

【参考答案】B


题目五

C语言中下面哪个数组的创建错误的:( )

A.int arr[10] = {0}

B.int n = 10; int arr[n] ={0}

C.int arr[] = {1,2,3,4,5,6,7,8,9,0}

D.char ch[10] = "hello bit"

【参考答案】B


题目六

写一个函数求两个整数的较大值

如输入:10 20

输出较大值:20

#include<stdio.h>void Max(int x, int y)
{if (x >= y)printf("max = %d", x);elseprintf("max = %d", y);
}int main()
{int a = 0;int b = 0;printf("请输入两个整数:");scanf("%d %d", &a, &b);Max(a, b);return 0;
}

另一种比较简单的写法:

#include<stdio.h>int Max(int x, int y)
{return (x > y ? x : y);
}int main()
{int a = 0;int b = 0;int m = 0;printf("请输入两个整数:");scanf("%d %d", &a, &b);m = Max(a, b);printf("max = %d", m);return 0;
}

题目七

KiKi想知道从键盘输入的两个数的大小关系,请编程实现。

输入描述:题目有多组输入数据,每一行输入两个整数(范围-2^31~2^31-1),用空格分隔。

输出描述:针对每行输入,输出两个整数及其大小关系,数字和关系运算符之间没有空格。

#include <stdio.h>int main()
{int a = 0;int b = 0;while (1){printf("请输入两个整数: ");if (scanf("%d %d", &a,&b) != 2)break;if (a > b)printf("两个数字的关系是:%d > %d\n",a,b); else if (a == b)printf("两个数字的关系是:%d = %d\n", a, b);elseprintf("两个数字的关系是:%d < %d\n", a, b);}return 0;
}

题目八

KiKi想知道一个整数的奇偶性,请帮他判断。从键盘任意输入一个整数(范围-231~231-1),编程判断它的奇偶性。

输入描述:多组输入,每行输入包括一个整数。

输出描述:针对每行输入,输出该数是奇数还是偶数。

#include<stdio.h>
int main()
{int a = 0;while (1){printf("请输入一个整数:");if (scanf("%d",&a) != 1)break;else{if (0 == a % 2)printf("这个数是偶数\n");elseprintf("这个数是奇数\n");}}return 0;
}

题目九

KiKi想知道他的考试分数是否通过,请帮他判断。从键盘任意输入一个整数表示的分数,编程判断该分数是否在及格范围内,如果及格,即:分数大于等于60分,是输出“Pass”,否则,输出“Fail”。

输入描述:多组输入,每行输入包括一个整数表示的分数(0~100)。

输出描述:针对每行输入,输出“Pass”或“Fail”。

#include<stdio.h>int main()
{int score = 0;while (1){printf("请输入你的成绩:");if (scanf("%d", &score) != 1)break;else{if (score >= 60)printf("Pass\n");elseprintf("Fail\n");}}return 0;
}

题目十

KiKi想知道他的考试成绩是否完美,请帮他判断。从键盘输入一个整数表示的成绩,编程判断成绩是否在90~100之间,如果是则输出“Perfect”。

输入描述:多组输入,每行输入包括一个整数表示的成绩(90~100)。

输出描述:针对每行输入,输出“Perfect”。

#include<stdio.h>
int main()
{int score = 0;while (1){printf("请输入您的成绩:");if (scanf("%d", &score) != 1)break;else{if (score >= 90 && score <= 100)printf("Perfect\n");elsecontinue;}}return 0;
}

题目十一

关于static说法不正确的是:( )

A.static可以修饰局部变量

B.static可以修饰全局变量

C.static修饰的变量不能改变

D.static可以修饰函数

【参考答案】C


题目十二

下面代码的结果是什么?( )

#include <stdio.h>
int sum(int a)
{int c = 0;static int b = 3;c += 1;b += 2;return (a + b + c);
}
int main()
{int i;int a = 2;for (i = 0; i < 5; i++) { printf("%d,", sum(a)); } 
} 

A. 6,8,10,12,14

B.8,10,12,14,16

C.10,12,14,16,18

D.12,14,16,18,20

【参考答案】B


题目十三

关于指针说法正确的是:( )

A.sizeof(char*)大小一定是1

B.指针变量是个变量,用来存放地址

C.指针变量的大小都是4个字节

D.指针不是变量

【参考答案】B


题目十四

输入一个班级5个学生各5科成绩,输出5个学生各5科成绩及总分。

输入描述:五行,每行输入一个学生各5科成绩(浮点数表示,范围0.0~100.0),用空格分隔。

输出描述:五行,按照输入顺序每行输出一个学生的5科成绩及总分(小数点保留1位),用空格分隔。

#include <stdio.h>int main()
{double score[5] = {0.0};int i = 0;while (i < 5){int j = 0;double sum = 0.0;while (j < 5){scanf("%lf", &score[j]);sum += score[j];j++;}j = 0;while (j < 5){printf("%.1lf\n", score[j]);j++;}printf("%.1lf", sum);i++;}return 0;
}

题目十五

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的线段图案。

输入描述:多组输入,一个整数(1~100),表示线段长度,即“*”的数量。

输出描述:针对每行输入,输出占一行,用“*”组成的对应长度的线段。

#include <stdio.h>int main()
{int a = 0;while (1){printf("请输入一个整数:");if (scanf("%d", &a) != 1)break;else{int b = a;for (b = a; b > 0; b--){printf("*");}printf("\n");}}return 0;
}

题目十六

给定秒数 seconds ,把秒转化成小时、分钟和秒。

数据范围: 0<seconds<100000000  

输入描述:一行,包括一个整数,即给定的秒数。

输出描述:一行,包含三个整数,依次为输入整数对应的小时数、分钟数和秒数(可能为零),中间用一个空格隔开。

#include <stdio.h>
int main()
{int num = 0;int hour = 0;int min = 0;int second = 0; printf("请输入一个整数:");scanf("%d", &num);if (num < 60){second = num;printf("0 0 %d\n", second);}else if (60 <= num && num < 3600){second = num % 60;min = num / 60;printf("0 %d %d\n", min, second);}else{second = num % 60;min = num / 60 % 60;hour = num / 3600;printf("%d %d %d\n", hour, min, second);}return 0;
}

题目十七

KiKi最近学习了信号与系统课程,这门课里有一个非常有趣的函数,单位阶跃函数,其中一种定义方式为:

现在试求单位冲激函数在时域t上的值。

输入描述:题目有多组输入数据,每一行输入一个t

输出描述:输出函数的值并换行。

#include<stdio.h>int main()
{int t = 0;while (1){printf("请输入一个整数:");if (scanf("%d", &t) != 1)break;else{if (t > 0)printf("1\n");else if (t == 0)printf("0.5\n");elseprintf("0");}}return 0;
}

        截止到这里,我们结束了第二部分《初识C语言》的全部内容,从下一篇笔记开始,我们将进行第三部分《分支语句和循环语句》的学习了。


http://www.ppmy.cn/embedded/136416.html

相关文章

Java项目实战II基于Spring Boot的酒店管理系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导 一、前言 随着旅游业的蓬勃发展&#xff0c;酒店行…

HARCT 2025 新增分论坛2:机器人系统智能控制

会议名称&#xff1a;机电液一体化与先进机器人控制技术国际会议 会议简称&#xff1a;HARCT 2025 大会时间&#xff1a;2025年1月3日-6日 大会地点&#xff1a;中国桂林 主办单位&#xff1a;桂林航天工业学院、广西大学、桂林电子科技大学、桂林理工大学 协办单位&#…

斯坦福医学部发布GPT润色本子教程

最近&#xff0c;斯坦福大学医学部在GitHub上发布了一份针对申请资源本子润色的详细指导&#xff0c;包括使用GPT和其他大型语言模型来提升学术写作质量的全面建议。本文将为大家梳理这些润色指令&#xff0c;帮助你更好地理解和利用AI工具来优化学术写作。 指令集合 1. 提升文…

Linux下的systemd/service

开机自启任务 一. 概述 systemd 是现代 Linux 系统中管理系统和用户服务的工具&#xff0c;可以创建一个 systemd 服务来实现开机自启的任务 二. 操作 1. 创建 systemd 服务文件 使用文本编辑器创建一个新的服务文件&#xff1a; sudo vim /etc/systemd/system/test.servi…

如何设置定时关闭或启动整个docker而不是某个容器

如果你想定时关闭和启动整个Docker服务&#xff0c;而不是单个容器&#xff0c;可以使用系统级别的定时任务&#xff08;如Cron&#xff09;来实现。以下是如何操作的具体步骤&#xff1a; 使用Cron来定时关闭和启动Docker服务 打开Cron表: 打开终端。输入 crontab -e 编辑当前…

前端 性能优化 (图片与样式篇)

文章目录 前端能够做哪些图片优化?1、减小图片体积2、图片缓存服务工作线程 (Service Workers)缓存IndexDB缓存图片LocalStorage缓存 3、图片懒加载使用 loading"lazy" 属性 4、不同分辨率下使用不同的图片5、使用webp格式的图片6、配置图片CDN7、减少图片和动图的使…

C++入门基础(三)

目录 引用引用概念例子1例子2例子3例子4常引用拓展 引用 引用概念 引用不是新定义一个变量&#xff0c;而是给已存在变量取了一个别名&#xff0c;编译器不会为引用变量开辟内存空 间&#xff0c;它和它引用的变量共用同一块内存空间。 比如&#xff1a;同学A有一个别名为张…

【Golang】Go语言教程

Go语言教程 文章目录 Go语言教程一、Go语言教程二、Go语言特色三、Go语言用途四、第一个Go程序六、运行代码的两种方式七、go run和go buil的区别7.1、go run7.2、Go build 一、Go语言教程 Go全称Golang Go是一个开源的编程语言&#xff0c;它能让构造简单、可靠且高效的软件变…