admin 管理员组

文章数量: 1086019


2023年12月16日发(作者:怎么用round保留两位小数)

一、简答题

1、请问指针有哪些类型?

指针的类型,跟他所指向的数据结构有关,基本类型的指针指向基本类型的数据结构。

2、函数式宏定义和函数调有什么不同?

(1)函数式宏定义的参数没有类型,预处理器只负责做形式上的替换,而不做参数类型检查,所以传参时要格外小心。

(2)调用真正函数的代码和调用函数式宏定义的代码编译生成的指令不同。

(3)函数式宏定义要注意格式,尤其是括号。

(4)若函数参数为表达式,则普通函数的调用与函数式8、C语言的语句有哪几种?

(1)表达式语句 (2)函数调用语句 (3)控制语句 (4)复合语句 (5)空语句

9、运行C程序的步骤

编辑(预处理)→编译→链接→运行

10、算法的特征

(1)有穷性(2)确切性(3)输入(4)输出(5)可行性

11、C语言变量的储存类别分为哪四种?

(1)auto(自动)(2)extern(外部)(3)static(静态)(4)register(寄存器)

12、函数的嵌套调用和递归调用有什么区别?

递归调用 是自己调用自己,函数嵌套可以是调

宏定义的替换过程是不一样的。

(5)函数式宏定义往往会导致较低的代码执行效率。

3、请问指针编程有哪些优点?

(1)提高传输速度,又节省大量内存。

(2)可以用来做数据类型转换,比较常用于通讯缓冲区的填充。

(3)可以用在大量分支处理的实例当中。

(4)在数据结构中,链表、树、图等大量的应用都离不开指针。

4、C语言中,变量为什么要先定义后使用?

(1)对于编译器处理更方便。

(2)不容易出错。

(3)程序更清晰。

5、二维数组的初始化定义的正确形式有哪些?请举例说明

(1)分行赋初值

例如:int a[2][3]={ {1,3,4},{2,3,1},{7,9,0} };

(2)按顺序初始化

例如:int a[2][3]={1,3,4,2,3,1,7,9,0};

(3)省略一维长度的赋值

例如:int a[][3]={1,3,4,2,3,1,7,9,0};

(4)对数组的前几行元素初始化,其他元素自动初始化为0

例如:int a[2][3]={ {1},{2,3} };

6、while与do while相同点与不同点是什么?

(1)while语句是先测试条件再执行语句,条件不符后终止;do while语句是先执行语句再测试条件,条件不符后终止,所以do while循环至少执行一次

7、请写出一个C程序的构成

(1)C程序是由若干个函数构成的

(2)每个函数(包括主函数)的定义分为两个部分:函数说明部分和函数体。

(3)C程序中的语句最后总要有一个“分号(;)”,作为每个语句的结束。

(4)可以用“”括住任意字符,称为“注释”。

(5)C程序的书写格式很灵活,在一行上可以书写多个语句,一个语句也可以写在多行上。

(6)C程序的执行总是从主函数开始,并在主函数中结束。

(7)主函数可以调用任何非主函数;任何非主函数都可以相互调用,但是不能调用主函数

用其他函数。

13、请描述一个算法,求1+4+7+…+100的和

#include

void main()

{

int i;

int sum = 0;

for(i=1;i<=100;i+=3)

{

sum += i;

}

printf("%dn",sum);

return;

}

14、循环结构中break语句和continue语句的作用是什么?二者有何区别

(1)作用:break语句通常用在循环语句和开关语句中。continue语句的作用是跳过循环体中剩余的语句而强行执行下一次循环。

(2)区别:continue语句只结束本次循环,而不是终止整个循环的执行。break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。

15、指针与地址有什么联系?在使用指针的过程中应注意哪些细节?

(1)联系:①指针和地址最大的区别就是指针是有类型的,地址是没有类型的。②指针是由地址和类型两部分构成的。

(2)注意细节:①指针变量和普通变量概念使用方式相混淆②指针变量的赋值(初始化,传递地址)方式有误③指针变量的类型与所指元素的类型不一致④指针移动不恰当⑤指针在使用过程中发生了不必要的导致错误的改变⑥多重的指针指向指针,导致形成难以理清的逻辑关系.

16、C语言中参数传递有什么特点?我们应当注意些什么?

(1)数值传递:被调用函数中对形参的操作不影响主调用函数中的实参值。

(2)地址传递:可以通过被调用函数中对形参的操作来修改主调用函数中的实参值。

注意事项:用malloc 或new申请内存之后,应该立即检查指针值是否为NULL。防止使用指针值为NULL 的内存。

17、C语言中进行函数声明的作用是什么?

(1)把函数的名字,函数类型以及形参的类型、个数和顺序通知编译系统,以便在调用该函数时进行对照检查,它不包括函数体。

18、字符常量与字符串常量有什么区别?

(1)形式上:字符常量是单引号引起的一个字符;字符串常量是双引号引起的若干个字符;

(2)含义上:字符常量相当于一个整型值,可以参加表达式的运算;字符串常量代表一个地址值(该字符串在内存中存放的位置);

(3)占内存大小:字符常量只占一个字节;字符串常量占若干个字节,(至少一个字符结束标志)

19、C语言中如何表示“真”与“假”

(1)定义假为0,真为1。(2)建立自己的枚举类型

else printf("no");

return 0;

}

24、if语句中条件表达式可以是任意合法的表达式吗?switch语句中break的作用是什么?

(1)if语句中的表达式不限于逻辑表达式,可以是任意的数值类型。

(2)当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则会从满足条件的地方开始执行,直到switch结构结束。

25、C语言循环结构主要有哪几种?每种循环结构的一般形式分别是什么样的?

(1)do……while :先循环,在判断 (2)

20、字符数组与字符串是否相同?若不相同,有何区别?

不相同。(1)字符指针中存的是字符串第一个字符的首地址。而字符数组中存的整个字符串

(2)字符数组只能在定义是进行初始化;

char a[]="abc";不可以char

a[10] ;a[10]="abc"而字符指针可以。

21、关键字与一般标识符有什么不同?

(1)关键字是标识符的一种。标识符是指: 可以当作变量名, 函数名等的。

(2)标识符是非常多的(但C语言支持最长的标识符是32个)而关键字只有32个。

22、使用swicth的注意事项。

(1)switch语句后面的小括号只能写整数类型的表达式,否则会报错。

(2)switch小括号后面不要加分号,可以加分号加在大括号后面。

23、请用两种方式写出如何判断某一年为闰年的C语句。

(1)#include

main()

{ int n;

printf(“请输入年份:n");

scanf(“%d",&n);

if(n%100==0)

if(n%400==0)

printf(“是闰年");

else

printf(“不是闰年");

else

if(n%4==8)

printf(“是闰年");

else

printf(“不是闰年")

(2)#include

int main()

{int a;

scanf("%d",&a);

if(a%400==0||a%4==0&&a%100)printf("yes");

while :先判断后循环

(3)for:一般可以代替上面两个

26、预处理命令主要有哪几种?每种预处理命令的一般形式是什么样的?

(1)宏定义命令:#define、#undef,用来定义和解除宏。

(2)文件包含命令:#include "文件名" 或者 #include <文件名>。

(3)条件编译:#ifdef、#else、#endif、#elif 等。

27、请写出C语言标识符的命名规则

(1)必须用字母或下划线开头。

(2)只能是字母、下划线、数字的组合,不能出现其他符号。例如¥_st,就是个错误的标识符,它出现了“¥”符号。

(3)大小写的含义是不同的,例如标识符 TEA和tea是不同的。

(4)标识符的名称不能是C语言中的关键字,关键字是具有特定含义的标识符,用户只能根据系统的规定使用它们。

28、请简述while型循环和until型循环的区别

WHILE型和UNTIL型语句本质上是等价的,当型循环有时称为前测试型循环,直到型循环有时称为后测试型循环.

29、C语言中的语句有哪几类?

(1)表达式语句(2)函数调用语(3)控制语句(4)复合语句(5)空语句

30、局部变量和全局变量有何区别?

全局变量就是整个源程序都有效的变量;而局部变量会在其所属.

二、编程题

1、以下4种水果,[1]苹果[2]梨[3]桔子[4]芒果,单价分别是2.0元/公斤,2.5元/公斤,3.0元/公斤,4.5元/公斤,请输入水果编号,重量,计算应付款。

解答:#include

#include

int main()

{ double weight,pay,price;

int num;

printf("请输入水果编号、重量:");

scanf("%d%lf",&num,&weight);

switch(num){

case 1:price=2;break;

case 2:price=2.5;break;

case 3:price=3;break;

case 4:price=4.5;break;

default:printf("你输入的编号有误!n");exit (0);

}

pay=weight*price;

printf("应付款:%.2lfn",pay);

return 0;

}

2、输入某学生成绩(成绩分为100分制,可以为89.5,如果输入的成绩不在0-100之间,请给出错误提示)经处理后给出学生的等级,等级分类如下:

90分以下(包括90分):A

80至90分(包括80分):B

70至80分(包括70分):C

60至70分(包括60分):D

60分以下:E

#include "stdio.h"

void main ()

{

double key;

printf("请输入学生成绩n");

scanf("%lf",&kay);

if(key>=0 && key=<60)

printf("分数等级:En');

else if(key>=60&&key=<69)

printf("分数等级:Dn');

else if(key>=70&&key=<79)

printf("分数等级:Cn');

else if(key>=80&&key=<89)

printf("分数等级:Bn');

else if(key>=90&&key=<100)

printf("分数等级:An');

else

printf("输入有误请重新输入:");

scanf("%If",&key);

}

3、编程实现求1-10之间的所有数的乘积并输出。

#include

void main( )

{ int i;

long sum=1;

for(i=1; i<=10; i=i+1)

sum=sum*i;

printf(“the sum of odd is :%ld”,sum);

}

4、从键盘输入两个数,求出其最大值(要求使用函数完成求最大值,并在主函数中调用该函数)。

#include

int max(int x,int y)

{return (x > y) ? x : y;

}

int main()

{int a,b;

printf("输入两个整数(空格隔开):");

scanf("%d%d",&a,&b);

printf("最大数:%dn",max(a,b));

return 0;

}

5、已知函数y=f(x),编程实现输入一个x值,输出y值。

本文标签: 函数 语句 指针 类型 循环

更多相关文章

标准c语言程序设计

3月前

年月日发(作者:字符串转对象)标准语言程序设计...标准语言程序设计。语言是一种广泛应用于系统软件和应用软件开发的高级程序设计语言,具有结构化、模块化和可移植性强的特点。本文档将介绍标准语言程序设计的基本知识和技巧,帮助读者快速入门并掌握语

Python语言程序设计基础智慧树知到答案章节测试2023年南华大学_

3月前

年月日发(作者:模块建房屋顶施工方案)第一章测试.语言是由哪个人创造的?()::::答案:.这个单词是什么含义?():蟒蛇:喵星人:袋鼠:石头答案:.是一种跨平台、开源、免费的高级动态编程语言。():对:错答案:.语言是个非常年轻的语言,但

Python语言程序设计基础(第2版)全答案v3-20180823

3月前

年月日发(作者:编程设计软件)语言程序设计基础(第版)全答案(..,年月)嵩天礼欣黄天羽著(本文档由该书原作者提供,有任何修改意见请反馈:黄天羽@。)目录目录.........................................

C语言技术中常用的编程范式与模式

3月前

年月日发(作者:大连编程学校哪个好)语言技术中常用的编程范式与模式语言是一种广泛应用于系统和应用程序开发的编程语言。为了提高编写代码的效率和可读性,程序员们常常采用各种编程范式和模式。本文将介绍语言中常用的几种编程范式和模式,以及它们的应用

各种编程语言的区别与联系

3月前

年月日发(作者:字符代码对照表)各种编程语言的区别与联系:分三大平台(),(),()是和的基础是目前位置企业级开发平台中最牛的是用来开发移动嵌入式程序的,例如手机游戏的优点是非常适合用于开发大型企业级项目,我们曾为网通公司开发过的上千万级的

如何在各种浏览器中切换编码类型

2月前

有时候打开浏览器时&#xff0c;会出现乱码的情况&#xff0c;这时便需要切换页面的编码才能正常浏览网页。在各种浏览器中如何切换编码呢&#xff1f; 工具原料 连网的电脑浏览器方法步骤 在搜狗浏览

固态硬盘用mbr还是GPT?固态硬盘分区类型用mbr还是GPT分析

2月前

固态硬盘用mbr还是GPT&#xff1f;答&#xff1a;固态硬盘分区类型用mbr还是gpt其实取决于你对分区要求及引导模式。我们知道现在的引导模式有uefi和legacy两种引导模式&#xff0c;如果采用的是u

java如何模拟浏览器执行js函数_啥是无头浏览器,都能干啥?一文说清楚

2月前

引言 您如何知道您正在开发的网站的用户界面(UI)是否正常工作,以及该网站作为一个整体是否提供了最佳的用户体验(UX)?无头浏览器为您提供了一种快速、轻量级的方式来自动化高级操作,并了解您的站点在常见场景中的运行情况。 有很多无头选项可供选

【控制】能量函数Graph Laplacian Potential and Lyapunov Functions for Multi-Agent Systems

2月前

能量函数是描述整个系统状态的一种测度。系统越有序或者概率分布越集中&#xff0c;系统的能量越小。反之&#xff0c;系统越无序或者概率分布越趋于均匀分布&#xff0c;则系统的能量越大。能量函数的最小值&#

RFdiffusion get_potential_gradients函数解读

2月前

get_potential_gradients是Denoise类中一个方法。get_potential_gradients方法的目的是计算每个 Cα 原子的势能梯度,用于指导扩散更新。这些梯度可以提供物理或几何约束,使扩散生成的坐标更加合理

ORDER BY语句报错Out of sort memory, consider increasing server sort buffer size

2月前

** ORDER BY语句报错Out of sort memory, consider increasing server sort buffer size ** 查询语句如图&#xff0c;该表只有1条语句&#xff0

C4996 ‘scanf‘: This function or variable may be unsafe. Consider using scanf_s (vs中提示错误:scanf函数)

2月前

例题&#xff1a;从键盘上输入两个数字&#xff0c;求和 #include<stdio.h>int main(){int num10;int num20;int sum0;输入sca

Windows系统下查看文件编码类型

1月前

这是一个程序员的最基本的技能&#xff0c;原谅我到现在才去了解 以前只知道window操作系统下文件大部分默认编码是ANSI&#xff0c;中文版是GBK编码 如果想要查看或者修改文件编码的话有两种方式 一&#xf

windows下system函数返回值

1月前

在DOS下&#xff0c; system()只是做一个调用其他程序的工作&#xff0c;只要调用成功就返回0&#xff0c;不成功就返回&#xff0d;1。 它不能得到被调用的程序的执行结果。 要得到其他程序

Android readelf 工具查找函数符号

1月前

ELF&#xff08;Executable and Linkable Format&#xff09;是一种执行文件和可链接文件的格式。它是一种通用的二进制文件格式&#xff0c;用于在各种操作系统中存储可执行程序、共享

Vue 中判断浏览器的类型、识别浏览器

1月前

在开发过程中经常遇到的问题就是兼容性问题 项目中使用到了vue这个框架, 并且使用了一些弹性布局的的盒子, 导致项目在不同浏览器中出现样式错乱的现象 一个很简单的例子remove()方法在 IE 中不能运行&#xff0c;这就需

在Windows环境下使用fork()函数的解决方案

1月前

在windows下使用linux环境的folk会出现:‘fork’ was not declared in this scope. 下面是免装虚拟机系统,或者换LINux系统的办法。 请下载安装cygwin,安装特定的版本的G++,GC

《CWAP-404》,第4章:802.11 MAC 帧(4.1,802.11 帧类型,管理帧)

1月前

管理帧的功能与其名称一致&#xff1a;它们负责管理无线媒介本身。总共有 14种管理帧类型&#xff0c;其中两个值保留供后续使用。这些类型及其在MAC头子类型字段中对应的比特值可在下图中找到。所有管理帧在MAC头中的类型字

Windows无线网络设置中的7种安全类型简介

19天前

无线网络&#xff08;Wireless Network&#xff09;发展至今已经出现了多种安全认证方式。支持新的认证方式的无线设备一般可以兼容旧的安全认证方式&#xff0c;然而旧的设备往往并没有那么快被淘汰&a

《CWAP-404》,第4章:802.11 MAC 帧(4.1,802.11 帧类型,控制帧和数据帧)

16天前

控制帧 控制帧&#xff08;Control frames&#xff09;用于控制其他帧的传输。与管理帧&#xff08;Management frames&#xff09;不同&#xff0c;它们没有

发表评论

全部评论 0
暂无评论