A. c语言 几道选择题
注:水平不高……第一想帮帮你,第二我也在学习C++,所以想试试,如有错误,请您见谅
【1】选(B)
因为A,B,C都是整型,在商的过程中,小数点后面都没有了,所以得出结果的1.4,最后因为C的整型类型的缘故,导致后面的小数点0.4没有了,结果只是1
【2】选(B)
continue的作用是,符合IF判断条件则跳出循环,进行下一循环,则由于i=0,符合判断条件if(i<1),然后就跳出循环,再重复while循环,然后再判断,又符合,然后再再执行循环,无限下去……因此是死循环
【3】选(A)
由于switch(i)的循环体内,并没有break,导致每一个case,如果符合条件,就会一条条的执行下去
若i=1,依次执行case1,case2,default,由于case1没有贡献,case2使得a=8,default使得a=13
若i=2,依次执行case2,default,由case2使得a=16,default使得a=21
若i=3,依次执行case3,case1,case2,default,这样下去,到i=4的循环执行完毕后,再判断一下i的大小
最后就跳出了,答案是a=31
【4】选(C)
这道题,直接放到编译器……就可以了,但是强调的是……不同的编译器选择的自增自减的语句原则不同
以VISUALC++为例,一般符合学习语法,但是TUBOR和CFREE等,对自增自减的语法有不同的规定
举个例子,n=(++a)+(++a)+(++a);,假如a=3,那么有的编译器会认为n等于15,但有的认为是12
因为有的编译器认为每次都要自增,但是有的编译器认为自增一次后,等到等式运算结束,碰到分号,结束语句后再进行处理自增(虽然a=6,但是不同编译器处理n值结果不一样)。
本题如果按照visualC++来的话,应该是1313。因为n=(++x)+(++x);第一个x这时先自增成6,再参与加法运算,然后第二个x同理先自增,再运算,变成8,于是就是n=6+8;而m=(x--)+(x--);由n运算完毕的x是等于8的,参与m的减法运算之后,再自减,同理m=8+6;最后x还是等于5。
【5】选(C)
因为if((++i>0)||(++j>0))a++;这一句,编译器是这样执行的,当或语句出现,只要第一个条件满足,立刻忽略后面的语句,即编译器编译啊编译啊,突然编译到++i>0,这句时,发现时TRUE,是正确的,由或概念,可知,if语句判断通过,于是编译器直接忽略后面的++j,于是j的值其实根本没有改变。
【6】选(D)
字符串的放置,人是看不见的,在机器内部,默认的放置时,比如说chara[]=”abc”;那么系统会拿出4个“盒子”,打个比喻,说成盒子,其实盒子就内存。abc分别装入三个盒子,最后一个盒子装的是“ ”,这个“ ”符号表示的是结束的意思,就是说,系统一碰到这个符号,默认认为输入的字符立刻结束。所以说,你定义的chara[]=”abc abc”;,系统编译时,一碰到 立刻停止往数组内输入数据,实际上字符串输入数组只有abc。另外: 符号,不会输出在屏幕上的。
【7】选(C)
关键在于printf(“%d”,c>b>a);,C=3,B=2,那么C>B,是真,真就是1,系统默认的,就好比一个if判断语句,什么也不写。if(){/*这里面是程序*/},那么判断的时候,怎么判断呢?如果数据进入时0,那么就为假,如果数据进入的是1或者非零,就是真,道理就在这里。而且符号大于号,是判断符号,不是赋值符号。因此C>B的事实是正确的,因此C>B结果是1,然后按照比较符号的调用左规则,继续和A比较,而1是等于A的,而不是大于A,那么此事件是假,为假事件,那么假事件结果就是0
【8】选(D)
p=&a,指的是*P这个指针现在等于a,注意是“星P”等于a,而P不是等于a的,P是a的地址,*P才是等于a,其实星P就是和a没有区别,a就是星P,星P就是a。然后a=*p+b;就是a=a+b;所以a=11了
【9】选(C)
所谓预处理是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作。预处理是C语言的一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译。在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。至于正确选项:C语言本身没有输入输出语句,其功能须通过调用相关函数来实现。语言本身没有输入/输出语句其功能须通过调用相关函数来实现。
【10】选(B)
这个……A项少了分号,C项既然是指针,那么取的应该是地址,最后一项,显然……字符串,如果不是GETS()函数,那么就应该用循环,才能实现SCANF的输入
【11】选(B)
显然example是结构体内某个具体的对象,而x,y,z都是关于example属性修饰之类的成员,比如说example可以代表一本例子样本的书,那么x,y,z可以代表修饰书的作者,出版时间,出版社,都是书的成员属性。而至于一个结构体类型有其专有的标志,它由两个单词组成,第一个关键字struct,第二个单词按标识符命名规则指定。
【12】选(A)
由于判断的条件不是K==1,注意是两个等号,由于只是一个等号,系统认为,条件是K=1,注意是把1赋值给K,然后就成了,然后进入循环。切记=是赋值,==是判断。以后所有的……个跟第七题,很像了,凡是非零的数据进入判断,都是真事件
汗……怎么直接15题
【15】选(D)
显然……你之前的题目里面就有A项的赋值方法,然后B项可以理解为将n3的值赋给n2,然后再把覆盖的n2赋给n1,C项理解为判断i与j是否相等,相等则事件真,k就等于1,若为假,k就等于零。D项错在等号的赋值符号是具有右结合性的,应从右至左处理符号。显然最后一项有错误
以上全为个人所写,绝无雷同,请勿传播……如有错误,请指出,共同进步
B. C语言到底指的是什么C语言的测试题都是怎么样的
是一种抽象的通用程序设计语言,一般用于开发软件或者是开发应用程序。
C语言是计算机编程语言,所以有着计算机独特的编辑功能,主要特点是:
1、广泛性
C语言包含了很多的运算符,并且还包含了很多的数据格式,运算结果的表达方式,也是非常丰富的。
要想学好C语言,还应该学好英语,英语在小学、初中、高中和大学,都是我们的必修课,所以当我们在学校的时候,还是要好好学习基本的知识的,就像我们爱好计算机,爱好编程,但是如果不好好学习英语的话,那么当我们进行编程的时候,英语单词不会的,不仅仅是尴尬的现象出现,更是会影响计算机编写程序的一种缺失,计算机编程是一个比较严谨的事情,所以当我们编写程序的时候,更是应该要仔细认真的编写,一个字母错误,就会导致整个程序的开发不成功或者是以失败告终,所以应该非常的细心才行。
学习C语言,除了要掌握这些关键词之外,还要学会正确的语法结构,还要知道C语言的函数运算,运算符号的使用。只有知道了这些后,才能让我们更加的了解C语言,才能知道C语言应该如何编写。
C. 一道c语言编程题,寻找字符串最长的单词并输出
这一行写错了,p1前要加个*号:
printf("%c",p1++);
要改成
printf("%c", *p1++);
看别人写的程序很难懂,不如自己重写一下,已经测试通过:
#include <stdio.h>
#include <string.h>
int main()
{
char s[128];
char *p1, *p2;
int max=0, len=0;
printf("Input a string: ");
gets(s);
p1=s;
for (int i=0; i<strlen(s); i++)
{
if (s[i]==' ') // 如果当前字符为空格,则比较当前单词长度是否大于最大值,再将长度复位。
{
if (len>max)
{
max=len;
p2=p1;
}
len=0;
} else // 如果当前字符非空,如果当前长度为0,则表示新单词。
{
if (len==0)
p1=&s[i];
++len;
}
}
while (*p2 && *p2!=' ')
printf("%c", *p2++);
}
D. c语言测试题,求大神
还是先把图标照清楚点吧,根本就看不清
E. C语言 程序测试题
一:
1 a
2 a
3 a
4 b
5 a
6 b
7 d
8 a
9 c
10 b
二:
1 3 //考察逗号表达式
2 3
3 10 9
4 4213 13
5 1
三:
1 10,5,9
2 741
3 没有题目
四:
1
#include <stdio.h>
void main()
{
int scores[5]={0},i;
double average;
printf("Input the scores: ");
scanf("%d %d %d %d",&scores[0],&scores[1],&scores[2],&scores[3]);
for(i=0;i<4;i++)
{
printf("%d %d\n",scores[i],scores[4]);
scores[4]+=scores[i];
}
average = double(scores[4]/4.0);
printf("sum of the scores: %d\n",scores[4]);
printf("average of the scores: %2.1f\n",average);
}
2
#include <stdio.h>
void main()
{
int r,h;
double volume;
printf("Input radius and h :");
scanf("%d %d",&r,&h);
printf("%d,%d\n",r,h);
printf("volume is: %.2f\n",3.1415*r*r*h/3);
}
F. C语言第一单元单元测试题,今天必须交了,好难啊,哪位大哥帮忙解决下,在线等,最好给个100分啊!
22D 23B 24B 25C 26A 27D 28B 29D 30C 31A 32D 33不会 34B 35B 36D 37A 38C 39C 40A
题目都挺有特点,最多有两三道错的。
G. C语言实验题——单词统计
#include<stdio.h>
int main()
{
char a[1000];
gets(a);
int i = 0;
int count = 0;//已经经过的单词数
int space = 1;//上一个字符是不是空格。
while(a[i]){ //如果不是最后一个字符
if(space){ //上一个字符是空格
if(a[i] != ' '){
space = 0;
count = count + 1;
}
} else//上一个字符是字母
{
if(a[i] == ' ') space = 1;
}
i++;
}
printf("%d\n",count);
system("PAUSE");
}
H. C语言测试题
#include<stdio.h>
int main() {
int day,w;
char week[7][10]={"一","二","三","四","五","六","日"};
printf("输入1至31之间的日期:");
scanf("%d",&day);
w=(day-1)%7+2;
printf("%d号是星期%s",day,week[w-1]);
}
I. 如何用C语言做一个英语单词测试(随机)的程序
问错地方了-..-
另,如果是vb可能帮得上忙
J. c语言编程:从已知文件中随机抽取n个单词进行测试...
这个好有难度啊,知道什么单词是正确的?总要有比较的,想抽取单词或者事后统计都很容易,但是要是判断正误就麻烦多了.