赞
踩
main()
{
int x=-1,y=4,k;
k=x++<=0&&!(y–<=0);
printf("%d,%d,%d",k,x,y);
}
A: 0,0,3
B: 0,1,2
C: 1,0,3
D: 1,1,2
正确答案:C
我的选择:D
解析:
j=++i;(i的值先加1,再赋给j,j在输出)
j=i++;(先将i的值赋给j,j的值不变,i的值加一)
所以x++<=0;是真的所以k=1;
x=0;y=3;
故结果选C.
A: 0
B: 2
C: 3
D: 4
正确答案:B
我的选择:A
解析:有运算符的优先来看,>比=要先进行,又因为c<d所以为假
故可以得出n=0
A: 3
B: 4
C: 5
D: 不定
正确答案:C
我的选择:A
解析:明确i++的含义,然后再利用循环求出执行完语句最后的变量的值。
A: 2.500000
B: 2.750000
C: 3.500000
D: 0.000000
正确答案:A
我的选择:B
解析:根据运算符的法则来算。
C语言中规定了运算符的优先级,还规定了运算符的结合性。
(1)、在表达式求值时,先按运算符的优先级别顺序执行。
(2)、如果在一个运算对象的两侧的运算符的优先级别相同,则按规定的“结合方向”处理。
(3)、算数运算符时自左至右,赋值运算符是自右至左。其他复杂的在遇到的时候可以适当的查一下表。
char *s=“abcde”;
s+=2; printf(“%s”,s);
A: cde
B: 字符’c’
C: 字符’c’的地址
D: 无确定的输出结果
正确答案:A
我的选择:B
解析:
int b[2][3]={0}, (*p)[3];
p=b;
A: ((p+i)+j)
B: *(p[i]+j)
C: (p+i)+j
D: ((p+i))[j]
正确答案:C
我的选择:D
解析:指针如何表示数组,及其互换的。
main()
{
int x=1, y=0, a=0, b=0;
switch(x)
{
case 1:
switch(y)
{case 0:a++;break;
case 1:b++;break;
}
case 2:
a++; b++; break;
}
printf(“a=%d, b=%d\n”, a, b);
}
上面程序的输出结果是( )。
A: a=2,b=1
B: a=1,b=1
C: a=1,b=0
D: a=2,b=2
正确答案:A
我的选择:C
解析:注意后面的分号,看是否有语句结束。
A: ‘\091’
B: ‘\’
C: ‘\0’
D: ‘’’
正确答案:A
我的选择:B
解析:A项只是个单纯的斜杠,转义符一般成对出现或者后面有0且无其他数字。
思路解析: 数组定义后,每个位置上都有相应的数组元素了。
**思路解析:**不相同的,a[1]=4而,a++=2
思路解析: 初始值的个数小于数组元素的个数,C语言不会自动将剩余元素初始值化为初始值列表中的最后一个初始值,而是自动补零。
思路解析: %d是表示整型,但若要输入全部数组元素不能用此方式。
思路解析:不能一次引用整个数组
思路解析:数组名不是指针,是元素首地址
要求:键盘输入一个正整数,输出该正整数的所有因子,每行一个,隔一行输出一个。输出的因子从小到大。
样例输入:
10
样例输出:
1
2
5
10
正确代码:
#include<stdio.h> int main() { int a,i,b; scanf("%d",&a); for(i=1;i<=a;i++) { if(0==a%i) { printf("%d\n",i); } } return 0; }
思路:
首先应该明白因子是什么?
其次如何能确保输出的是循环,循环的要求又是什么;
然后就是这样算出来,考虑限制条件,i的初值一定不能是0;
输入格式:
输入第一行给出两个正整数m和n(1≤m,n≤6)。随后m行,每行给出n个整数,其间
以空格分隔。
输出格式:
每行输出对应矩阵行元素之和。
输入样例:
3 2
6 3
1 -8
3 12
输出样例:
9
-7
15
正确代码:
#include<stdio.h>
int main()
{
int m,n,i,j;
scanf("%d%d",&m,&n);
int a[m][n],sum[m]={
0};
for(i=0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。