五道选择题:
1、程序运行的结果为()
#include<stdio.h>
int main()
{
int x=1.9;
x++;
printf("%d",x);
}
A、1 B、2 C、2.9 D、3
2、设有整型变量a,b,c,它们的初值是1,运行表达式++a| |++b&&++c后,a,b,c的值分别是 ()
A、2,1,1 B、2,2,2 C、2,2,1 D、2,1,2
3、以下程序运行的结果为()
#include<stdio.h>
int main()
{
int x = 5;
int i = 0, j = 0, k = 0;
x = (i = 4, j = 16, k = 32);
printf("%d %d %d %d", x,i,j,k);
}
A、5,4,16,32 B、5,0,0,0 C、32,4,16,32 D、32,0,0,0
4、有如下程序,程序运行后的输出结果是()
#include <stdio.h>
int main()
{
int x = 072;
printf("%d\n", x+1);
}
A、72 B、73 C、115 D、59
5、若想定义 int 型变量 a,b,c,d 并都赋值为 1,以下写法中错误的
是
A、int a=b=c=d=1;
B、int a=1, b=1, c=1, d=1;
C、int a,b,c,d; a=b=c=d=1;
D、int a,b,c,d=1; a=b=c=d;
编程题1:
剑指 Offer 10- I. 斐波那契数列 - 力扣(LeetCode)
int fib(int n) {
if (n == 0)
{
return 0;
}
if (n <= 2)
{
return 1;
}
//以上特殊情况单独处理下
int f1 = 1; int f2 = 1; int f3 = 0; int i = 0;
for (i = 3; i <= n; i++)
//我们一开始计算的就是第三个斐波那契数,所以令i=3
{
f3 = (f1 + f2) % 1000000007;
//先储存下一个斐波那契数
f1 = f2;
f2 = f3;
//进行数据更新
}
return f3;
//返回目标
}
编程题2:
134. 加油站 - 力扣(LeetCode)
int canCompleteCircuit(int* gas, int gasSize, int* cost, int costSize) {
int oil = 0;
int i = 0;
if(gasSize==1)
//只有一个单独处理
{
if(gas[0]>=cost[0])
return 0;
}
for (i = 0; i < gasSize; i++)
{
int tmp = i;
//不要在函数内对循环变量操作,因此使用tmp来间接操作
int flag = 1;
//判定是否可以行进的变量
oil = gas[tmp];
if (oil > cost[tmp])
{
oil -= cost[tmp];
for (++tmp; tmp < gasSize; tmp++)
{
oil += gas[tmp];
oil -= cost[tmp];
if (oil < 0)
{
flag = 0;
break;
}
}
if (flag == 0)
{
continue;
}
for (tmp = 0; tmp < gasSize; tmp++)
{
oil += gas[tmp];
oil -= cost[tmp];
if (tmp == i)
{
break;
}
if (oil < 0)
{
flag = 0;
break;
}
}
if (flag == 1)
{
return tmp;
}
else
{
continue;
}
}
else
{
continue;
}
}
return -1;
}
好了,今天的练习到这里就结束了,感谢各位友友的来访,祝各位友友前程似锦O(∩_∩)O