常见C笔试题目含答案完整版
- 格式:docx
- 大小:75.34 KB
- 文档页数:24
c笔试题及答案一、选择题(每题2分,共10分)1. 下列哪个选项是C语言中合法的标识符?A. 2variableB. variable2C. intD. variable$2答案:B2. C语言中,哪个关键字用于定义一个函数?A. varB. defineC. functionD. void答案:D3. 在C语言中,以下哪个选项表示逻辑与运算?A. &&B. ||C. andD. or答案:A4. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. count()答案:A5. 下面哪个选项是C语言中的整型数据类型?A. intB. floatC. charD. All of the above答案:D二、填空题(每题2分,共10分)1. 在C语言中,一个程序的执行从________函数开始。
答案:main2. 如果一个变量的值在程序执行过程中不会改变,那么它应该被声明为________。
答案:const3. C语言中,________运算符用于将一个值赋给变量。
答案:=4. 在C语言中,________关键字用于定义一个结构体。
答案:struct5. C语言中,________函数用于将一个字符串复制到另一个字符串。
答案:strcpy三、简答题(每题5分,共20分)1. 请简述C语言中数组的定义方式。
答案:在C语言中,数组的定义方式如下:类型名数组名[数组大小];例如,定义一个包含10个整数的数组:int numbers[10];2. 解释C语言中指针的概念。
答案:在C语言中,指针是一个变量,其存储的是另一个变量的内存地址。
通过指针,程序可以直接访问和操作内存中的数据。
3. 请描述C语言中函数的原型声明。
答案:函数原型声明在C语言中用于告知编译器函数的名称、返回类型、参数类型和数量,但不提供函数的实现。
函数原型声明的一般形式为:返回类型函数名(参数类型参数名, ...);4. 举例说明C语言中如何实现文件的读写。
c语言笔试考试题及答案C语言笔试考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. floatC. doubleD. string答案:A2. C语言中,int类型变量的默认初始值是多少?A. 0B. 1C. -1D. 随机值答案:A3. 以下哪个是正确的C语言函数声明?A. int function(int a, int b)B. void function(int a, int b)C. int function(int a, int b) {}D. int function(int a, int b) {return a + b;}答案:B4. 在C语言中,哪个运算符用于求两个数的余数?A. /B. %C. *D. -答案:B5. 下列哪个是C语言中正确的数组声明?A. int array[10];B. int array = 10;C. int array(10);D. int [10] array;答案:A6. C语言中,哪个语句用于结束程序的执行?A. break;B. continue;C. return;D. exit;答案:C7. 在C语言中,哪个函数用于计算两个数的和?A. sum(int a, int b)B. add(int a, int b)C. plus(int a, int b)D. None of the above答案:D8. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. methodD. void答案:A9. 下列哪个选项是C语言中的控制流语句?A. ifB. switchC. caseD. All of the above答案:D10. 在C语言中,哪个语句用于实现循环?A. forB. whileC. do-whileD. All of the above答案:D二、填空题(每空2分,共20分)1. C语言中,____ 用于定义一个字符常量。
C笔试题目及答案C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。
C语言一般只比汇编程序生成的目标代码效率低10%~20%。
下面就由店铺为大家介绍一下C 笔试题目汇总的文章,欢迎阅读。
C 笔试题目汇总篇11.求下面函数的返回值( 微软)int func(x){int countx =0;while(x){countx ++;x = x&(x-1);}return countx;}假定x = 9999。
答案:8思路:将x转化为2进制,看含有的1的个数。
2. 什么是“引用”?申明和使用“引用”要注意哪些问题?答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。
申明一个引用的时候,切记要对其进行初始化。
引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。
声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。
不能建立数组的引用。
3. 将“引用”作为函数参数有哪些特点?(1)传递引用给函数与传递指针的效果是一样的。
这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标对象(在主调函数中)的操作。
(2)使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本;如果传递的是对象,还将调用拷贝构造函数。
因此,当参数传递的数据较大时,用引用比用一般变量传递参数的效率和所占空间都好。
(3)使用指针作为函数的参数虽然也能达到与使用引用的效果,但是,在被调函数中同样要给形参分配存储单元,且需要重复使用"*指针变量名"的形式进行运算,这很容易产生错误且程序的阅读性较差;另一方面,在主调函数的调用点处,必须用变量的地址作为实参。
1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态? virtual修饰符会被隐形继承的。
private 也被集成,只事派生类没有访问权限而已。
virtual 可加可不加。
子类的空间里有父类的所有变量(static除外)。
同一个函数只存在一个实体(inline 除外)。
子类覆盖它的函数不加virtual ,也能实现多态。
在子类的空间里,有父类的私有变量。
私有变量不能直接访问。
————————————————————————–2.输入一个字符串,将其逆序后输出。
(使用C++,不建议用伪码)#include <iostream>using namespace std;void main(){char a[50];memset(a,0,sizeof(a));int i=0,j;char t;cin.getline(a,50,’\n’);for(i=0,j=strlen(a)-1;i<strlen(a)/2;i++,j–){t=a[i];a[i]=a[j];a[j]=t;}cout<<a<<endl;}//第二种string str;cin>>str;str.replace;cout<<str;————————————————————————–3.请简单描述Windows内存管理的方法。
内存管理是操作系统中的重要部分,两三句话恐怕谁也说不清楚吧~~我先说个大概,希望能够抛砖引玉吧当程序运行时需要从内存中读出这段程序的代码。
代码的位置必须在物理内存中才能被运行,由于现在的操作系统中有非常多的程序运行着,内存中不能够完全放下,所以引出了虚拟内存的概念。
把哪些不常用的程序片断就放入虚拟内存,当需要用到它的时候在load入主存(物理内存)中。
这个就是内存管理所要做的事。
内存管理还有另外一件事需要做:计算程序片段在主存中的物理位置,以便CPU调度。
c语言编写函数笔试题及答案C语言编写函数笔试题及答案1. 题目一:计算阶乘编写一个函数,计算并返回一个整数的阶乘。
阶乘定义为:n! = n * (n-1) * (n-2) * ... * 1,其中n! = 1,当n=0。
函数原型:```clong long factorial(int n);```答案:```c#include <stdio.h>long long factorial(int n) {if (n == 0) return 1;long long result = 1;for (int i = 1; i <= n; i++) {result *= i;}return result;}int main() {int num;printf("Enter a number: ");scanf("%d", &num);printf("Factorial of %d is %lld\n", num, factorial(num)); return 0;}```2. 题目二:字符串反转编写一个函数,接受一个字符串作为参数,将其反转并返回。
函数原型:```cchar* reverseString(char* str);```答案:```c#include <stdio.h>#include <string.h>char* reverseString(char* str) {int length = strlen(str);char temp;for (int i = 0; i < length / 2; i++) {temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}return str;}int main() {char str[] = "Hello, World!";printf("Reversed string: %s\n", reverseString(str));return 0;}```3. 题目三:寻找数组中的最大值编写一个函数,接受一个整数数组和数组的长度作为参数,返回数组中的最大值。
100条经典C语言笔试题目1、请填写bool , float, 指针变量与“零值”比较的if 语句。
提示:这里“零值”可以是0, 0.0 , FALSE 或者“空指针”。
例如int 变量n 与“零值”比较的if 语句为:if ( n == 0 )if ( n != 0 )以此类推。
(1)请写出bool flag 与“零值”比较的if 语句:【标准答案】if ( flag ) if ( !flag )(2)请写出float x 与“零值”比较的if 语句:【标准答案】const float EPSINON = 0.00001; if ((x >= - EPSINON) && (x <= EPSINON) 不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。
(3)请写出char *p 与“零值”比较的if 语句【标准答案】if (p == NULL) if (p != NULL)2、以下为Linux下的32 位C程序,请计算sizeof 的值。
char str[] = “Hello” ; char *p = str ; int n = 10;请计算(1)sizeof (str ) = (2)sizeof ( p ) = (3)sizeof ( n ) =【标准答案】(1)6、(2)4、(3)4(4)void Func ( char str[100]) { ……;}请计算sizeof( str ) =(5)void *p = malloc( 100 ); 请计算sizeof ( p ) =【标准答案】(4)4、(5)43、long a=0x801010;a+5=?【标准答案】0x801010用二进制表示为:“1000 0000 0001 0000 0001 0000”,十进制的值为8392720,再加上5就是8392725。
4、用变量a给出下面的定义e) 一个有10个指针的数组,该指针是指向一个整型数的;f) 一个指向有10个整型数数组的指针;g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数;h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数;【标准答案】e)int * a[10]; f)int (*a)[10]g)int (*a)(int); h) int (*a[10])(int)5、设有以下说明和定义:typedef union {long i; int k[5]; char c;} DATE;struct data { int cat; DATE cow; double dog;} too;DATE max;则语句printf("%d",sizeof(struct date)+sizeof(max));的执行结果是:_____【标准答案】DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.所以结果是20 + 32 = 52.当然...在某些16位编辑器下, int可能是2字节,那么结果是int2 + DATE10 + double8 = 20 6、请问以下代码有什么问题:int main(){char a;char *str=&a;strcpy(str,"hello");printf(str);return 0;}【标准答案】没有为str分配内存空间,将会发生异常问题出在将一个字符串复制进一个字符变量指针所指地址。
C语言笔试题答案C语言笔试题答案篇1(1)下述关于数据库系统的叙述中正确的是________。
A)数据库系统减少了数据冗余B)数据库系统避免了一切冗余C)数据库系统中数据的一致性是指数据类型的一致D)数据库系统比文件系统能管理更多的数据答案:A评析:由数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。
所谓数据的一致性是指在系统中同一数据的不同出现应保持相同的值。
(2)关系表中的每一横行称为一个________。
A)元组 B)字段 C)属性 D)码答案:A评析:在关系数据库中,关系模型采用二维表来表示,简称“表”。
二维表是由表框架及表元组组成。
在表框架中,按行可以存放数据,每行数据称为元组。
(3)数据库设计包括两个方面的设计内容,它们是________。
A)概念设计和逻辑设计 B)模式设计和内模式设计C)内模式设计和物理设计 D)结构特性设计和行为特性设计答案:A评析:数据库设计可分为概念设计与逻辑设计。
概念设计的目的是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。
逻辑设计的主要工作是将ER图转换为指定的RDBMS中的关系模型。
(4)请读程序:includemain(){int a;float b,c;scanf(“%2d%3P%4f,a,b,C);printf(”\na=%d,b=%ec。
%f\n”,a,b,C);}若运行时从键盘上输入9876543210l,则上面程序的输出结果是________。
A)a=98,b=765,c=432 1B)a=1 0,b=432,c=8765C)a=98,b=765.000000,c=432 1.000000D)a=98,b=765.0,c=432 1.0答案:C评析:scanf()把用户从键盘录入的数字的第1、2位存入整型变量a;把第3、4、5位存入单精度实型变量b,把第6、7、8、9位存入单精度实型变量c,用户录入的第10位被scanf()遗弃。
c招聘试题及答案C招聘试题及答案1. 选择题- 1.1 以下哪个选项是C语言中的关键字?A. intB. stringC. varD. void答案:A- 1.2 C语言中,用于定义函数的关键字是什么?A. functionB. defineC. defD. int答案:D2. 填空题- 2.1 在C语言中,定义一个整型变量的正确语法是____。
答案:int variable_name;- 2.2 如果要声明一个指向整型变量的指针,正确的语法是____。
答案:int *pointer_name;3. 简答题- 3.1 请解释C语言中的数组和指针的区别。
答案:数组是一种数据结构,用于存储相同类型的多个元素,而指针是一个变量,它存储了另一个变量的内存地址。
数组名本身代表数组首元素的地址,而指针变量可以被赋值指向不同的地址。
- 3.2 描述C语言中如何实现函数的递归调用。
答案:递归调用是指函数在其定义中调用自身。
在C语言中,实现递归调用需要定义一个函数,该函数在其内部调用自身,并且有一个递归结束的条件,以避免无限递归。
4. 编程题- 4.1 编写一个C语言函数,计算并返回两个整数的和。
答案:```cint add(int a, int b) {return a + b;}```- 4.2 编写一个C语言程序,实现字符串的反转。
答案:```c#include <string.h>#include <stdio.h>void reverseString(char* str) {int length = strlen(str);for(int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```5. 论述题- 5.1 讨论C语言中结构体和联合体的区别。
c 算法笔试题及答案C算法笔试题及答案在计算机科学中,算法是解决问题的方法和步骤的有序集合。
C语言是一种广泛应用于系统编程和嵌入式开发中的高级编程语言。
C算法的笔试题常常涉及到对程序的设计和实现,以及对基本数据结构和算法的理解与运用。
本文将介绍一些常见的C算法笔试题,并为每个问题提供答案。
一、排序算法1. 冒泡排序(Bubble Sort):通过相邻元素的比较和交换,每轮将最大(或最小)的元素移动到序列的最末端。
答案:具体的冒泡排序算法实现可参考如下代码:```cvoid bubbleSort(int arr[], int n) {for (int i = 0; i < n - 1; i++) {for (int j = 0; j < n - i - 1; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}```2. 快速排序(Quick Sort):通过选择一个基准元素,将序列分成小于基准的部分和大于基准的部分,然后递归地对两个部分进行排序。
答案:具体的快速排序算法实现可参考如下代码:```cint partition(int arr[], int low, int high) {int pivot = arr[high];int i = (low - 1);for (int j = low; j <= high - 1; j++) {if (arr[j] < pivot) {i++;int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}int temp = arr[i + 1];arr[i + 1] = arr[high];arr[high] = temp;return (i + 1);}void quickSort(int arr[], int low, int high) {if (low < high) {int pi = partition(arr, low, high);quickSort(arr, low, pi - 1);quickSort(arr, pi + 1, high);}}```二、查找算法1. 二分查找(Binary Search):对于已排序的数组,通过比较给定值与数组中间元素的大小,将查找范围缩小一半,直到找到目标元素或查找范围为空。
大学c笔试题及答案一、选择题(每题2分,共20分)1. 在C语言中,用于定义一个字符常量的是()。
A. 单引号B. 双引号C. 反引号D. 尖括号2. 下列哪个选项是C语言中的合法标识符?()A. 2variableB. intC. _variableD. variable-3. C语言中,用于表示逻辑“与”操作的运算符是()。
A. &&B. ||C. !D. =4. 在C语言中,哪个关键字用于定义一个函数?()A. classB. functionC. defD. int5. 下列关于数组的描述,错误的是()。
A. 数组可以存储相同类型的多个元素B. 数组的索引从0开始C. 数组的大小在定义后可以改变D. 数组在定义时必须指定大小6. C语言中,用于从标准输入读取一个字符的函数是()。
A. getchar()B. scanf()C. printf()D. scanff()7. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef8. C语言中,用于实现条件判断的关键字是()。
A. ifB. switchC. caseD. default9. 下列哪个选项不是C语言中的基本数据类型?()A. intB. floatC. stringD. char10. 在C语言中,用于声明一个指针变量的关键字是()。
A. pointerB. ptrC. *D. &二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语句是:______。
2. 一个C语言程序的执行从______函数开始。
3. 在C语言中,表示逻辑“或”操作的运算符是______。
4. 用于定义一个全局变量的关键字是______。
5. C语言中,用于实现循环结构的关键字包括______和______。
6. 在C语言中,______运算符用于计算两个整数的商并向下取整。
常见C笔试题目含答案 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态virtual修饰符会被隐形继承的。
private 也被集成,只事派生类没有访问权限而已。
virtual可加可不加。
子类的空间里有父类的所有变量(static除外)。
同一个函数只存在一个实体(inline除外)。
子类覆盖它的函数不加virtual ,也能实现多态。
在子类的空间里,有父类的私有变量。
私有变量不能直接访问。
————————————————————————–2.输入一个字符串,将其逆序后输出。
(使用C++,不建议用伪码)#include <iostream>using namespace std;void main(){char a[50];memset(a,0,sizeof(a));int i=0,j;char t;cin.getlin e(a,50,’\n’);for(i=0,j=strlen(a)-1;i<strlen(a)/2;i++,j–){t=a[i];a[i]=a[j];a[j]=t;}cout<<a<<endl;}//第二种string str;cin>>str;str.replace;cout<<str;————————————————————————–3.请简单描述Windows内存管理的方法。
内存管理是操作系统中的重要部分,两三句话恐怕谁也说不清楚吧~~我先说个大概,希望能够抛砖引玉吧当程序运行时需要从内存中读出这段程序的代码。
代码的位置必须在物理内存中才能被运行,由于现在的操作系统中有非常多的程序运行着,内存中不能够完全放下,所以引出了虚拟内存的概念。
把哪些不常用的程序片断就放入虚拟内存,当需要用到它的时候在load入主存(物理内存)中。
这个就是内存管理所要做的事。
内存管理还有另外一件事需要做:计算程序片段在主存中的物理位置,以便CPU调度。
内存管理有块式管理,页式管理,段式和段页式管理。
现在常用段页式管理块式管理:把主存分为一大块、一大块的,当所需的程序片断不在主存时就分配一块主存空间,把程序片断load入主存,就算所需的程序片度只有几个字节也只能把这一块分配给它。
这样会造成很大的浪费,平均浪费了50%的内存空间,但时易于管理。
页式管理:把主存分为一页一页的,每一页的空间要比一块一块的空间小很多,显然这种方法的空间利用率要比块式管理高很多。
段式管理:把主存分为一段一段的,每一段的空间又要比一页一页的空间小很多,这种方法在空间利用率上又比页式管理高很多,但是也有另外一个缺点。
一个程序片断可能会被分为几十段,这样很多时间就会被浪费在计算每一段的物理地址上(计算机最耗时间的大家都知道是I/O吧)。
段页式管理:结合了段式管理和页式管理的优点。
把主存分为若干页,每一页又分为若干段。
好处就很明显,不用我多说了吧。
各种内存管理都有它自己的方法来计算出程序片断在主存中的物理地址,其实都很相似。
这只是一个大概而已,不足以说明内存管理的皮毛。
无论哪一本操作系统书上都有详细的讲解————————————————————————–4.#include “stdafx.h”#define SQR(X) X*Xint main(int argc, char* argv[]){int a = 10;int k = 2;int m = 1;a /= SQR(k+m)/SQR(k+m);printf(“%d\n”,a);return 0;}这道题目的结果是什么啊define 只是定义而已,在编择时只是简单代换X*X而已,并不经过算术法则的a /= (k+m)*(k+m)/(k+m)*(k+m);=>a /= (k+m)*1*(k+m);=>a = a/9;=>a = 1;————————————————————————–5.const 符号常量;(1)const char *p(2)char const *p(3)char * const p说明上面三种描述的区别;如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。
(1)const char *p一个指向char类型的const对象指针,p不是常量,我们可以修改p的值,使其指向不同的char,但是不能改变它指向非char对象,如:const char *p;char c1=’a';char c2=’b';p=&c1;//okp=&c2;//ok*p=c1;//error(3)char * const p此时*p可以修改,而p不能修改。
(4)const char * const p这种是地址及指向对象都不能修改。
————————————————————————–6.下面是C语言中两种if语句判断方式。
请问哪种写法更好为什么int n;if (n == 10) // 第一种判断方式if (10 == n) // 第二种判断方式如果少了个=号,编译时就会报错,减少了出错的可能行,可以检测出是否少了= ————————————————————————–7.下面的代码有什么问题?void DoSomeThing(…){char* p;…p = malloc(1024); // 分配1K的空间if (NULL == p)return;…p = realloc(p, 2048); // 空间不够,重新分配到2Kif (NULL == p)return;…}A:p = malloc(1024);应该写成: p = (char *) malloc(1024);没有释放p的空间,造成内存泄漏。
————————————————————————–8.下面的代码有什么问题?并请给出正确的写法。
void DoSomeThing(char* p){char str[16];int n;assert(NULL != p);sscanf(p, “%s%d”, str, n);if (0 == strcmp(str, “something”)){…}}A:sscanf(p, “%s%d”, str, n);这句该写成: ssc anf(p, “%s%d”, str, &n);————————————————————————–9.下面代码有什么错误Void test1(){char string[10];char *str1=”0123456789″;strcpy(string, str1);}数组越界————————————————————————–10.下面代码有什么问题Void test2(){char string[10], str1[10];for(i=0; i<10;i++){str1[i] =’a';}strcpy(string, str1);}数组越界11.下面代码有什么问题Void test3(char* str1){char string[10];if(strlen(str1)<=10){strcpy(string, str1);}}==数组越界==strcpy拷贝的结束标志是查找字符串中的\0 因此如果字符串中没有遇到\0的话会一直复制,直到遇到\0,上面的123都因此产生越界的情况建议使用 strncpy 和 memcpy ————————————————————————–12.下面代码有什么问题#define MAX_SRM 256DSN get_SRM_no(){static int SRM_no; //是不是这里没赋初值?int I;for(I=0;I<MAX_SRM;I++,SRM_no++){SRM_no %= MAX_SRM;if(MY_SRM.state==IDLE){break;}}if(I>=MAX_SRM)return (NULL_SRM);elsereturn SRM_no;}系统会初始化static int变量为0,但该值会一直保存,所谓的不可重入…————————————————————————–13.写出运行结果:{// test1char str[] = “world”; cout << sizeof(str) << “: “;char *p = str; cout << sizeof(p) << “: “;char i = 10; cout << sizeof(i) << “: “;void *pp= malloc(10); cout << sizeof(p) << endl;}6:4:1:4————————————————————————–14.写出运行结果:{// test2union V {struct X {unsigned char s1:2;unsigned char s2:3;unsigned char s3:3;} x;unsigned char c;} v;v.c = 100;printf(“%d”, v.x.s3);}3————————————————————————–15.用C++写个程序,如何判断一个操作系统是16位还是32位的?不能用sizeof()函数A1:16位的系统下,int i = 65536;cout << i; // 输出0;int i = 65535;cout << i; // 输出-1;32位的系统下,int i = 65536;cout << i; // 输出65536;int i = 65535;cout << i; // 输出65535;A2:int a = ~0;if( a>65536 ){cout<<”32 bit”<<endl;}else{cout<<”16 bit”<<endl;}————————————————————————–16.C和C++有什么不同从机制上:c是面向过程的(但c也可以编写面向对象的程序);c++是面向对象的,提供了类。
但是,c++编写面向对象的程序比c容易从适用的方向:c适合要求代码体积小的,效率高的场合,如嵌入式;c++适合更上层的,复杂的; llinux核心大部分是c写的,因为它是系统软件,效率要求极高。