C语言简答题
C语言的历史:
c语言是在20世纪70年代初美国贝尔实验室开发的一种高级编程语言,由B语言发展来,最初是为了Unix操作系统开发的。在80年代中期,由ISO和ANSI C对它进行了一系列的标准化, 90年代末, c语言进行了一次重大更新和扩展,被称为c99,使得c语言更加强大和灵活
C语言的特点:
1,语言简洁、紧凑、使用方便、灵活。
2,运算符丰富。
3,数据类型丰富。
4,具有结构化的控制语句。
5,语法限制不太严格,程序设计自由度大。
6,C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。
7,用C语言编写的程序可移植性好。
8,生成目标代码质量高,程序执行效率高。
C程序的结构:
头文件,全局变量,函数声明,主函数,自定义函数,结束语句
C语言的运行环境:
翻译环境和运行环境;翻译环境里执行 预编译,编译,汇编,链接
运行一个C语言程序的过程:
编写 编译 链接 运行
C语言的结构特点:
一个源程序由一个或多个源程序文件组成
函数是C程序的主要组成部分
一个函数包括两个部分:函数首部和函数体
程序总是从main函数开始执行的
程序中要求计算机的操作是由函数中C语句完成的
在每个数据声明和语句的最后必须有一个分号
C语言本身不提供输入输出语句
程序应当包含注释
源程序文件包括:预处理指令,全局声明,函数定义
函数体包括:声明部分和执行部分
了解常量和变量的概念:
在运行过程中,其值不能被改变的量称为常量;
常量分为:
整型常量:如100,0,-1
实型常量:有十进制小数如0.0,12.0 ; 指数形式如12.3e4
字符常量:有普通字符如‘a’,‘?’ ;转义字符如’\t’
字符串常量:如“boy”
符号常量:用#define指令指定一个符号名称代表一个常量,如:#define PI 3.14
变量是在程序运行期间,其值可以被改变的量称为变量。
C语句、程序设计的基本步骤:
明确目标,设计程序,编写代码,编译,运行程序,测试和调试程序,维护和修改代码
程序的三种基本结构:
顺序结构,选择结构,循环结构
外循环和内循环的关系:
内循环和外循环是相互依存、相互促进的关系;内循环是外循环的基础和前提,而外循环则是内循环的拓展和延伸。
数组的种类的概念:
一维数组是由数字组成的以单纯的排序结构单一的数组,是计算机程序中最基本的数组。
二维数组本质上就是由多个一维数组摞在一起组成的数组。
字符数组就是由字符组合成的一个数组。
选择排序,冒泡排序,折半查找,顺序查找的基本思想:
选择排序的基本思想是:如果有N个元素需要排序,那么首先从N个元素中找到最小的那个元素与第0位置上的元素交换。
冒泡排序的基本思想是:每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来。
折半查找的基本思想:对于已按关键字排序的序列,经过一次比较,可将序列分割成 两部分,然后只在有可能包含待查元素的一部分中继续查找,并根据试探结果继续分割,逐步缩小查找范围,直至找到或找不到为止。
顺序查找的基本思想:从表的一端开始,顺序扫描线性表,依次将扫描到的关键字和给定值k相比较,若当前扫描到的关键字与k相等,则查找成功;若扫描结束后,仍未找到关键字等于k的记录,则查找失败。
结构化程序设计的基本概念:
结构化程序设计是进行以模块功能和处理过程设计为主的详细设计的基本原则。
结构化程序设计的基本特征:
模块化、抽象化、顺序性、选择性、循环性和模块独立性
形参(形式参数)
在函数定义中出现的参数可以看做是一个占位符,它没有数据,只能等到函数被调用时接收传递进来的数据,所以称为形式参数,简称形参。
实参(实际参数)
函数被调用时给出的参数包含了实实在在的数据,会被函数内部的代码使用,所以称为实际参数,简称实参。
形参和实参的功能是传递数据,发生函数调用时,实参的值会传递给形参。
形参和实参的区别和联系
- 形参变量只有在函数被调用时才会分配内存,调用结束后,立刻释放内存,所以形参变量只有在函数内部有效,不能在函数外部使用。
- 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的数据,在进行函数调用时,必须有确定的值以便把这些值传送给形参,所以应该提前用赋值、输入等办法使实参获得确定值。
- 实参和形参在数量上、类型上、顺序上必须严格一致,否则会发生“类型不匹配”的错误。如果能够进行自动类型转换,或者进行了强制类型转换,那么实参类型也可以不同于形参类型。
- 函数调用中发生的数据传递是单向的,只能把实参的值传递给形参,而不能把形参的值反向地传递给实参,所以在函数调用过程中,形参的值发生改变并不会影响实参。
C语言简答题的更多相关文章
- 考研计算机复试笔试(数据结构/C语言简答题篇)
1.比较顺序存储结构和链式存储结构的优缺点,什么情况下链表比顺序表好? 顺序存储时相邻元素的存储单元的地址也相连,可以随机存取.优点是存储密度大,空间利用率高:缺点是插入或删除时不方便. 链式存储时相 ...
- 他答对一半(打一字)asp.net开源简答题项目
先出个字谜: 他答对一半(打一字) 你猜出来了没? 可以到这个网址答题:http://m.hovertree.com/miyu/bjae/4fpmm2td.htm 看你的答案是否正确. 这是ASP.N ...
- 《web前端设计基础——HTML5、CSS3、JavaScript》 张树明版 简答题简单整理
web前端设计基础——HTML5.CSS3.JavaScript 简答题整理 第一章 (1)解释一下名词的含义:IP地址.URL.域名 iP定义了如何连入因特网,以及数据如何在主机间传输的标准. ...
- 『Python题库 - 简答题』 Python中的基本概念 (121道)
## 『Python题库 - 简答题』 Python中的基本概念 1. Python和Java.PHP.C.C#.C++等其他语言的对比? 2. 简述解释型和编译型编程语言? 3. 代码中要修改不可变 ...
- JAVA常见简答题
一.基础知识 1.简述使用文本编辑器和 JDK 创建并运行 Java 应用程序的基本步骤. 答:①打开文本编辑器输入 Java 源程序: ②保存文件,文件名为源程序中 public 修饰类的类名,扩展 ...
- Java课后简答题
1.简述Java的特点. 面向对象.跨平台性.健壮性.安全性.可移植性.多线程性.动态性等. 2.简述JRE与JDK的区别. JRE(Java Runtime Environment,Java运行时环 ...
- Java简答题附答案
1. Java有没有goto? 有, Goto语句在java中作为保留字, 并没有实现它. 带标号的break, continue局限于循环体中跳转 带标号的goto可以在一个函数(c语言)中任意跳转 ...
- 大数据R语言简析
R语言是用于统计分析.画图的语言和操作环境.R是属于GNU系统的一个自由.免费.源码开放的软件.它是一个用于统计计算和统计制图的优秀工具. R是统计领域广泛使用的诞生于1980年左右的S语言的一个分支 ...
- OS——进程简答题(1)
1,叙述进程和程序的主要区别. 解:进程和程序是两个既有联系又有区别的两个概念,它们的主要区别如下: (1)程序是指令的有序集合,其本身没有任何运行的含义,它是一个静态的概念.而进程是程序在处理机上的 ...
- 面试java简答题
1. sleep() 和 wait() 有什么区别? 答:1.这两个方法来自不同的类分别是Thread和Object 2.最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他 ...
随机推荐
- 正则表达式环视匹配(?=pattern)、(?!pattern)、(?<=pattern)、(?<!pattern)怎么用
今天在处理数据的时候遇到一个,需要用正则表达式匹配不包含某字符的字符串的问题,用到否定匹配,现总结如下: 一个正则小知识 ↓ []:表示范围,匹配其中任何一个 {}:表示重复匹配多次. ():表示分组 ...
- Java日期、字符串、毫秒值格式转换
1 /** 2 * 3 */ 4 package study.reliable; 5 /** 6 * @author : Administrator 7 * @date :2022年4月21日 下午9 ...
- Java实现软件设计模式---抽象工厂模式(性别产品等级结构肤色产品族)
一.题目要求 二.画出对应的类图 三.文件目录结构 四.具体实现代码 Black.java 1 package com.a004; 2 3 public class Black implements ...
- 20 JavaScript和HTML交互
20 JavaScript和HTML交互 在HTML中可以直接在标签上给出一些事件的触发. 例如, 页面上的一个按钮. <input type="button" value= ...
- #贪心#CF840A Leha and Function
题目 设 \(f(n,k)\) 表示 区间 \([1,n]\) 选出 \(k\) 个元素的集合的期望最小值, 现在需要重排 \(a\) 数组,使得 \(\sum_{i=1}^mf(a_i,b_i)\) ...
- Jetty的server模块
启用server模块,执行如下命令: java -jar $JETTY_HOME/start.jar --add-modules=server 命令的输出,如下: INFO : server init ...
- 全平台GPU通用AI视频补帧超分教程
全平台GPU通用AI视频补帧超分教程 本教程只发布于https://www.cnblogs.com/Icys 注意:本教程需要一定的命令行和视频编码知识,请谨慎食用. 软件准备 realcugan-n ...
- C++执行Linux命令
一.执行简单命令 比如需要创建文件.文件夹.删除文件 #include <iostream> #include <stdio.h> #include <stdlib.h& ...
- HuffmanTree,哈夫曼树的原理和c++实现
目录 一.什么是哈夫曼树 二.构造哈夫曼树 三.路径.编码.解码 四.代码 一.什么是哈夫曼树 哈夫曼树又称为最优树. 通过权值来构造树,权值越大,离根节点越近 经常用于无损压缩算法 用于需要优化存储 ...
- 中间件之Mycat
一.概念 介绍 Mycat是开源的.活跃的.基于Java语言编写的MySQL数据库中间件.可以像使用mysql一样来使用mycat,对于开发人员来说根本感觉不到mycat的存在 Mycat不负责存储数 ...