‘壹’ c语言二级难考吗谁能告诉我都有些什么题目,C语言和C++那个比较有用,实用啊
你问C语言和C++那个比较有用,他们各有各的用处,C语言主要是针对硬件方面的,C++也可以做一引起驱动程序。但是学好了C++可以利用一些编程工具做大量的软件。
看来你不是计算机专业的吧,如果你就是为了计算机等级考试,C语言二级考试是有点难。因为C语言比较难学。
‘贰’ C语言二级的题
程序定义了一个结构体变量类型STU,每一个STU型变量包含两个子变量:char型的num[10]和int型的s。
在fun函数中,有两个参数,分别是STU型的数组变量a[]和STU型的指针变量s。
由于数组a是STU型的,数组a的每一个元素(如a[0])中都包含两个子元素(num和s),c语言规定这两个子元素分别用点号表示,如a[0].num、a[0].s。这就是.s的由来。
对于s这个指针,同样它也是STU型的,当它指向数组a的某一个元素(如a[1])时,仍然可以选择它指向的a[1]的哪一个子元素,c语言也规定了表示方法,那就是->,如用s->num代表num子元素(即a[1].num),s->s代表s子元素(即a[1].s)。
注意:变量用.号,指针用->号,不能用错。
另外,你发的第三张图是什么意思?
‘叁’ 计算机二级C语言都有哪些题型
全国计算机二级C语言程序设计包括40个单选题(每题一分)和三道操作题(60分)。
单选题中1~10题为二级公共基础知识,考试内容包括数据结构与算法、程序设计基础、软件工程基础、数据库设计基础四部分。单选题的11~40题是C语言的内容。
操作题包括程序填空(18分)、程序改错(18分)和编程题(24分)各一题。
程序填空是将一个完整的程序,扣掉两到三处,让考生将它填写完整。由于每位考生具体抽到的题目不同,程序填空有2到3个空要填。程序填空题以实际填写的内容为评分依据,填写正确一个空,给一个空的分。如果是2个空,每个空就是9分;如果是3个空每个空是6分。
程序改错也是一个完整的程序,其中有2~3处错误要求考生将他们改正。与程序填空类似,2处错误的话,每处9分,3处错误的话,每处6分。程序改错题的题目会提示每一处错误所在的行,在那一行的上一行有********found********标识。
编程题是要求考生编写一个程序,然后运行出题干要求的结果。题目中主函数main()会完整给出,在主函数中将调用fun()函数,fun函数由考生自己编写。编程题以运行结果给分,所编写完成后必须运行,否则没分。因此,大多数情况下,编程题要么就是得24分满分,要么就是0分。
‘肆’ C语言2级难题 求解惑
楼主你好~
首先声明一点,楼主你这个程序运行时是会出错的。原因在最后面说。
然后根据楼主给的代码的期望目的,来分析下:
核心部分就是fun()中的
while(s1<S2)
{
t=*s1++; //(1)
*s1=*s2--; //(2)
*s2=t; // (3)
}
当s1指向的地址小于s2指向的地址时,进行了一次替换操作。
循环1,1234567
进行到(1)时,s1指向'1',t='1',s1自加1,指向'2'(第2位)。此时原始数据1234567。
进行到(2)时,s2指向'7',*s1='7',s2自减1,指向‘6’(第6位)。此时原始数据1734567。
进行到(3)时,s2指向'6',*s2='1'。此时原始数据1734517。
循环2,1734517
进行到(1)时,s1指向'7',t='7',s1自加1,指向'3'(第3位)。此时原始数据1734517。
进行到(2)时,s2指向'1',*s1='1',s2自减1,指向‘5’(第5位)。此时原始数据1714517。
进行到(3)时,s2指向'5',*s2='7'。此时原始数据1714717。
循环3,1714717
进行到(1)时,s1指向'1',t='1',s1自加1,指向'4'(第4位)。此时原始数据1714717。
进行到(2)时,s2指向'7',*s1='7',s2自减1,指向‘7’(第4位)。此时原始数据1717717。
进行到(3)时,s2指向'7',*s2='1'。此时原始数据1711717。
循环4,判断失败,跳出。
最终得到结果1711717
这是这个程序想做到的状态。
但是,这个程序会出错的!
原因在于程序运行到(2)时,试图修改一个常量字符型指针的内容,会报错。
理由在于传入的char* p="123456",这个字符型指针在声明时声称成了字符串,在内存中分配在常量数据区,不能通过*(p+1) = 'a'这样的方式进行修改内容,它是只读的。
注意''单引号表示一个字符,而""双引号表示字符串,'a'与"a"是不同的。
所以当程序想在"1234567"中把第二位的2赋值成第7位的7时,试图修改了常量字符型指针的内容,这就报错了。
而改进方法就是使用字符串的另一种表达,就是将char *p变为char p[7],这样p指向的是这个字符型数组的头元素,而数组声明在内存的栈空间上,是可以改变的:
比如
char p[]="1234567";
p[1] = '7';
第一句声明的时候,事实上右边的"1234567"任然是常量,但是声明是p数组创建了"1234567"的副本,也就是说p实际上是{'1','2','3','4','5','6','7'},当然是可以被改变的。
请追问~
‘伍’ 二级c语言 程序设计题难度很大吗 为什么说只是想考证的一般就放弃的
不难。
c语言需要熟练运用语法的基本类型、控制流程、函数、结构和常用函数等,c语言的特点也是重点,作为入门语言会考一些常识,比如ascii码表占很大部分的分数,简单计算和简单算法。掌握程序设计中简单的数据结构和算法并能阅读简单的程序,在 Visual C++集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力。
(5)c语言二级最难的题扩展阅读:
二级c语言注意事项:
用户需要注意二级C语言每一年安排两次或三次考试,前两次分别在3月下旬和9月中旬,后一次在12月初,为可选,只有当报考数达到一定要求时考点才会开考。
直接解答法,多用在数理科的试题中,根据已知条件,通过计算、作图或代选择依次进行验证等途径,得出正确答案。
淘汰错误法,把选择题各选择项中错误的答案排出,余下的便是正确答案。
‘陆’ 计算机二级c语言考试题型,急
书面测试分为多个问题,主要是测试的c语言的基本知识,包括算法,函数陈述和一些概念问题。填空问题主要是编程问题。它通常很简单,有些是让填写程序的结果。
主要问题是三个。第一个是填空问题。这是一个简单的程序,可以填补一些空缺。这些通常并不困难。第二天是纠正错误,虽然最大的问题是告诉哪些代码有错误,但通常这些错误通常在编程中被喜欢,所以找到它可能有点麻烦。
第三个问题,必须加油,需要写一段代码。但是,如果已经完成了正确的两个问题,则符合条件并不是问题。建议在查看机器时进入计算机进行操作。
(6)c语言二级最难的题扩展阅读
考试内容:
C语言程序的结构:
程序的构成,main函数和其他函数。
头文件,数据说明,函数的开始和结束标志以及程序中的注释。
源程序的书写格式。
C语言的风格。
数据类型及其运算:
C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。
C运算符的种类、运算优先级和结合性。
不同类型数据间的转换与运算。
C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。二级各科考试的公共基础知识大纲及样题见高等教育出版社出版的《全国计算机等级考试二级教程——公共基础知识(2013年版)》的附录部分。
基本语句:
表达式语句,空语句,复合语句。
输出函数的调用,正确输入数据并正确设计输出格式。
‘柒’ C语言二级问题
答案是3;
第一个if,括号内是非a,因为a=0,所以不执行if语句,执行else
if,else
if
成立,但是后面是
;没有语句块,所以继续执行后面if语句,c=0成立,所以x=3;
‘捌’ C语言二级的几道不会的题目麻烦解答来啊~~应该不难吧~~
1.题没错
x=0210,是八进制数,%x表示以十六进制输出,0210化成十六进制就是88
2.初始定义c1为字符0,c2为字符9;进行for循环,每次循环c1加1,c2减1;直到不满足c1<c2条件为止。所以最后的结果是c1=‘5’,c2=‘4’。
%c就是按字符格式输出,c1输出5,c2输出4;合在一起就是54
3.这题不用计算啊
c=(a%11)+(b=3)
这句话中b=3就是把3赋值给b了,所以变量b的值是3
‘玖’ c语言二级考试题目
第一题:\141的值是"a"(a的8进制ASCII码值是141),\\的值是"\",所以s打印出来就是\141aabc,当然后面有一个\t,所以长度是9。
第二题:32位机器中,int值占4个字节,这里char占4个字节(由于32位机器按4字节对齐,char占一个字节后,剩下的3个字节不足以放下4个字节的float,所以这里char后面的3个字节会被浪费,看起来char占了4个字节),float占4个字节。
union里面的所有数据一起占用一块内存,此内存为union内占用内存最多的数据的大小,也就是int[2]的大小,所以union占8个字节。
加起来就是20个字节。
不是你把题抄错了,就是没有正确答案,或者没说明机器是多少位的机器。现在一般不说明机器的位数,默认情况下都是32位的。
第三题:ps=s后,ps会指向s的第一行第一列的位置,ps+1和*(ps+1)都等于s第二行第一列的地址,对ps的操作都是对内存地址的操作,答案中只有ps[ ][ ]能取到s中的元素。
第四题:因为pb比b1大3,所以while会循环3次,第一次因为*bp 从第三个字符开始,所以*bp = “ddwer”,所以b2=“ddwer”,第二次b2=“oddwer”,第三次b2=“goddwer”,所以strlen(b2)最终等于7。
第五题:答案是3,ASCII值中“\08”表示空格,所以s实际上等于“012xy”,而n记录字符值在0到9之间的字符的个数,所以n=3。