C语言面试题,程序执行完之后数组中元素的值分别是什么

C语言面试题,程序执行完之后数组中元素的值分别是什么,第1张

p=a;//将a

的地址赋予p,也就是&a[0]

q=&a[2];//将a[2]

的地址赋予q,也就是&a[2]

则a[q-p]=a[2];//q-p也就是&a[2]-&a[0]=2;

//a[2]

=

2;

(考试时间120分钟,满分100分)

一、选择题((1)-(40)每小题1分, (41)-(50)每小题2分, 共60分)

下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1) 下列设备中只能作为输入设备的是

A) 磁盘驱动器 B) 鼠标器 C) 存储器 D) 显示器

(2) 下列DOS组合控制键中,能使标准输出同时送到屏幕与打印机的是

A) Ctrl+Break B) Ctrl+P C) Ctrl+C D) Ctrl+H

(3) 通常所说的386机是

A) 8位机 B) 16位机 C) 32位机 D) 64位机

(4) 二进制数01100100转换成十六进制数是

A) 64 B) 63 C) 100 D) 144

(5) 十六进制数100转换成十进制数是

A) 1024 B) 512 C) 256 D) 128

(6) 对于存有重要数据的525英寸软盘,防止计算机病毒感染的方法是

A) 不要与有病毒的软盘放在一起 B) 在写保护口贴上胶条

C) 保持软盘清洁 D) 定期对软盘格式化

(7) 在启动DOS系统时,启动盘的根录下必须包含的文件是

A) STARTCOM B) COMMANDCOM C) FORMATCOM D) BOOTCOM

(8) DOS系统启动后,下列文件中常驻内存的是

A) DOSCOM B) COMMANDCOM C) DISKCOPYCOM D) SYSCOM

(9) 下列名字中,不能作为DOS磁盘文件名的是

A) JTU B) 93GZPRG C) CON D) ATT&TBAS

(10) 下列命令中属于内部命令的是

A) SYS B) COMP C) DIR D) DISKCOMP

(11) 下列文件名中,能与ABC匹配的是

A) AB12C B) ABCDFOR C) ABCTXT D) ABCDC

(12) 要列出当前盘当前目录中第三个字符为"B"的所有文件的清单,可使用的命令为

A) DIR B B) DIR B C) DIR B D) DIR B

(13) 设当前盘为C盘,其根目录下有两个子目录D1与D2,且当前目录为D1,若要进入子目录D2,可使用的命令为

A) CD D2 B) CD D2\ C) CD \D2 D) CD D1\D2

(14) 设当前盘为C盘,A盘当前目录为根目录。为了删除A盘目录\WS下扩展名为TXT的所有文件,可用的命令为

A) DEL WS\TXT B) DEL \WS\TXT C) DEL A:\WS\TXT D) DEL A:WS\TXT

(15) 设当前盘为C盘,C盘当前目录为\AAA\BBB\A\B\X。下列命令中能正确执行的是

A) MD \AAA\BBB\A B) MD X C) MD \ D) MD \AAA\BBB\A\B\X

(16) 在下列各组的两个命令中,根据给定的条件,执行效果互相等价的是

A) DEL \DOS 与 RD \DOS(当前盘上有目录\DOS)

B) FORMAT A:与 DEL A:(A盘为启动盘)

C) DISKCOPY A: B: 与 COPY A: B:(A盘为启动盘)

D) COPY F1 F2 与 TYPE F1>F2(当前盘当前目录下有文件F1)

(17) 为了在12MB的高密驱动器A中格式化一张360KB的启动盘,可用的命令为

A) FORMAT A: B) FORMAT A:/S/1 C) FORMAT A:/S/4 D) FORMAT A:/S

(18) 要在打印机上输出当前盘当前目录下扩展名为TXT的所有文件内容,正确的命令为

A) COPY TXT PRN B) COPY TXT>PRN C) TYPE TXT PRN D) TYPE TXT>PRN

(19) 设B盘目录结构如下:

设B盘的当前目录为\F2,要将A盘当前目录下的文件PBAS复制到B盘的F3子目录中,可用的命令为

A) COPY PBAS B: B) COPY A:PBAS B:\

C) COPY A:PBAS B:\F3 D) COPY A:PBAS B:F3\

(20) 设当前盘为A盘,要将B盘当前目录下的两个文件ATXT与XTXT连接后以文件名YTXT存放到A盘的当前目录中,可用的命令为

A) COPY ATXT+XTXT A:YTXT B) COPY B:ATXT+XTXT A:YTXT

C) COPY B:ATXT+B:XTXT >YTXT D) COPY B:ATXT+B:XTXT YTXT

(21) C语言中最简单的数据类型包括

A) 整型、实型、逻辑型 B) 整型、实型、字符型

C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型

(22) C语言中,运乍对象必须是整型数的运算符是

A) % B) \ C) %和\ D)

(23) 为表示关系x≥y≥z,应使用C语言表达式

A) (x>=y)&&(y>=z) B(x>=y)AND(y>=z) C)(x>=y>=z) D)(x>=y)&(y>=z)

(24) 下述对C语言字符数组的描术中错误的是

A) 字符数组可以存放字符串

B) 字符数组中的字符串可以整体输入、输出

C) 可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

D) 不可以用关系运算符对字符数组中的字符串进行比较

(25) 设有如下定义: int x=10,y=3,z; 则语句

printf("%d\n",z=(x%y,x/y)); 的输出结果是

A) 1 B) 0 C) 4 D) 3

(26) 以下程序的输出结果是

main()

{ int x=10,y=10;

printf("%d %d\n",x--,--y); }

A) 10 10 B) 9 9 C) 9 10 D) 10 9

(27) 定义如下变题和数组:

int i;

int x[3][3]={1,2,3,4,5,6,7,8,9};

则下面语句的输出结果是

for(i=0;i<3;i++) printf("%d",x[i][2-1]);

A) 1 5 9 B) 1 4 7 C) 3 5 7 D) 3 6 9

(28) 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为

A) a<>0 B) !a C) a=0 D) a

(29) 阅读程序:

#include

main()

{ int a[10]={1,2,3,4,5,6,7,8,9,0},p;

p=a;

printf("%x\n",p);

printf("%x\n",p+9); }

该程序有两个printf 语句, 如果第一个printf 语句输出的是194, 则第二个printf语句的输出结果是

A) 203 B) 204 C) 1a4 D) 1a6

(30) 设有如下函数定义:

int f(char s)

{ char p=s;

while(p!='\0') p++;

return(p-s); }

如果在主程序中用下面的语句调用上述函数,则输出结果为

printf("%d\n",f("goodbey!"));

A) 3 B) 6 C) 8 D) 0

(31) 以下说法中正确的是

A) C语言程序总是从第一个的函数开始执行

B) 在C语言程序中,要调用的函数必须在main()函数中定义

C) C语言程序总是从main()函数开始执行

D) C语言程序中的main()函数必须放在程序的开始部分 1 2 3 4

如下这份计算机二级C语言笔试题目对于要考基计算机二级证书的朋友来说,应该会很有帮助,需要的朋友赶紧收藏吧!

一、选择题((1)-(10),(21)-(40)每题2分,(11)-(20)每题1分,共70分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

1 下列叙述中正确的是

A 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的

B 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构

C 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构

D 上述三种说法都不对 答案:B

2 下列叙述中正确的是

A 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化

B 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化

C 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化

D 上述三种说法都不对 答案:C

3 软件测试的目的是

A 评估软件可靠性 B 发现并改正程序中的错误 C 改正程序中的错误

D 发现程序中的错误 答案:B

4 下面描述中,不属于软件危机表现的是

A 软件过程不规范 B 软件开发生产率低 C 软件质量难以控制

D 软件成本不断提高 答案:A

5 软件生命周期是指

A 软件产品从提出、实现、使用维护到停止使用退役的过程

B 软件从需求分析、设计、实现到测试完成的过程 C 软件的开发过程

D 软件的运行维护过程 答案:A

6 面向对象方法中,继承是指

A 一组对象所具有的相似性质 B 一个对象具有另一个对象的性质 C 各对象之间的共同性质 D 类之间共享属性和 *** 作的机制 答案:D

7 层次型、网状型和关系型数据库划分原则是

A 记录长度 B 文件的大小 C 联系的复杂程度

D 数据之间的**** 答案:D

8 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是

A 一对一B 一对多C 多对多D 多对一 答案:C

9 数据库设计中反映用户对数据要求的模式是

A 内模式B 概念模式C 外模式D 设计模式 答案:C

10 有三个关系R、S和T如下:则由关系R和S得到关系T的 *** 作是

A 自然连接B 交C 投影D 并 答案:A

11 以下关于结构化程序设计的叙述中正确的是

A 一个结构化程序必须同时由顺序、分支、循环三种结构组成

B 结构化程序使用goto语句会很便捷 C 在C语言中,程序的模块化是利用函数实现的

D 由三种基本结构构成的程序本文由论文联盟>

浮点型变量并不精确,所以不可将float变量用“==”或“!=”与数字比较,应该设法转化为“>=”或"<="形式。具体如下:

int型变量:

if(a==0)

float型变量:

const float EPSINON=000001;

if((x>=-EPSINON)&&(x<=EPSINON)

指针变量:

if(a==NULL)

bool型变量:

if(!a)

首先要了解Big_endian和Little_endian的区别,两者主要是CPU把数据储存的顺序不同而已。感觉就像堆栈一样的。。要判断这两者,首先可以用一个常数N=0x01,分别加载到Big_endian和Little_endian来处理。然后再用这两个地址来跟1相与。如果是Little_endian的话,与出来的就是1反之则0。接下来下返回值就行了。。编程其实有很多中方法的,我这也仅参考。小弟也只是菜鸟一个,

1 最经典的“Hello world!”,直接用 printf 输出 “Hello world!”

#include <stdioh>

#include <iostream>

int main(){

printf("Hello world! "); // 教科书的写法

puts("Hello world!"); // 我最喜欢的

puts("Hello" " " "world!"); // 拼接字符串

std::cout << "Hello world!" << std::endl; // C++风格的教科书写法

return 0;}

2、用宏写的“Hello world!”

“#”可以“提取”参数的名 字,把它变成字符串。

#include <stdioh>

#define Say(sth) puts (#sth)

int main(){

return Say(Hello world!);

}

3 断章取义的“Hello world!”

#include <stdioh>

int main(){

return puts ("Do not say: Hello world! "[12]);

}

4 退出时运行的“Hello world!”

atexit()注册回调函数。这个函数可以调用多次,最后注册的函数最先执行。

#include <stdioh>

#include <stdlibh>

void say(){printf("world! ");}

void sth(){printf("Hello ");}

int main(){

return atexit(say), atexit (sth);

}

5 读取自己的“Hello world!”

// Hello world!

#include <iostream>

#include <fstream>

#include <string>

int main(){

std::ifstream ifs(__FILE__);

std::string say, some, word;

ifs >> say >> some >> word;

std::cout << some << " " << word;

return 0;

}

6 话分两头的“Hello world!”

声明一个全局的类的实例,在 main 函数执行之前会调用这个类的构造函数,结束之后则会调用析构函数。

#include <iostream>

class say{

public:say(){std::cout << "Hell";}

~say(){std::cout << "world!";}

}hello;

int main(){

std::cout << "o ";

return 0;

}

7 传入模板的“Hello world!”

#include <iostream>

template <char words>

class say{

public:

void operator () (){std::cout << words;}

};

char hello[] = "Hello world!";

int main(){

return say<hello>()(), 0;

}

8 调用私有函数的“Hello world!”

#include <iostream>

#include <cstddef>

class secret{

private:

virtual void say(){std::cout << "Hello world!";}

};

int main(){

secret word;

(reinterpret_cast<void ()()>((intptr_t)(&word)))();

return 0;

}

9 直接修改函数的返回地址

#include <stdioh>

#include <stdlibh>

#include <stddefh>

void say(){

puts("Hello world!");

exit(0);

}

int main()

{

volatile intptr_t a = 0;

volatile intptr_t p = &a;

(p + 2) = (intptr_t)say;

(p + 3) = (intptr_t)say;

return 0;

}

10 外星人说的“Hello world!”

#include <stdioh>

void alien_say (char p){

while (putchar ((p += (p + 1) - p)));

}

int main(){

return alien_say ("BETHO! Altec oh liryom(a loadjudas!) dowd"), 0;

}

给定两个用链表表示的整数,每个节点包含一个数位。

这些数位是反向存放的,也就是个位排在链表首部。

编写函数对这两个整数求和,并用链表形式返回结果。

示例:

输入:(7 -> 1 -> 6) + (5 -> 9 -> 2),即617 + 295

输出:2 -> 1 -> 9,即912

进阶:假设这些数位是正向存放的,请再做一遍。

示例:

输入:(6 -> 1 -> 7) + (2 -> 9 -> 5),即617 + 295

输出:9 -> 1 -> 2,即912

当两个整数相加时,从个位开始,依次将两个数的对应位置进行相加,将所得结果的个位数作为相加后对应位置的结果,若有进位将进位的值在更高一位进行相加。此处两个数是以链表存储,同样的思路,依次将两个数的对应位置进行相加,并将所得结果保存到一个链表中。

运行结果:

题目要求:

编写一个C程序,用来求出π的近似值。

题目分析:

求π的方法很多,这里两种最为常用的求π的方法。

方法:利用“正多边形逼近”法求π。

“正多边形逼近” 法求π的核心思想是极限的思想。假设一个直径d为1的圆,只要求出该圆的周长C,就可以通过π=C/d的方法求出π的值。所以关键是求出该圆的周长C。这里用“正多边形逼近”的方法求圆的周长。

运行结果:

以上就是关于C语言面试题,程序执行完之后数组中元素的值分别是什么全部的内容,包括:C语言面试题,程序执行完之后数组中元素的值分别是什么、二级C语言笔试题和面试题答案目及答案、计算机二级C语言笔试题和面试题答案目等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zz/9345070.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存